29 lines
474 B
C
29 lines
474 B
C
int test_bit(int nr, void *addr)
|
|
{
|
|
int *a = (int *)addr;
|
|
int mask;
|
|
a += nr;
|
|
mask = 1 << nr;
|
|
return mask & *a;
|
|
}
|
|
struct {
|
|
struct {
|
|
int disabled;
|
|
} *data[1];
|
|
} trace;
|
|
struct {
|
|
unsigned bits[1];
|
|
} cpumask;
|
|
void inc(int *);
|
|
void dec(int *);
|
|
int foo(void)
|
|
{
|
|
int cpu;
|
|
for (cpu = 0; cpu < 1; cpu++) {
|
|
if (test_bit(cpu, cpumask.bits))
|
|
inc(&trace.data[cpu]->disabled);
|
|
if (!test_bit(cpu, cpumask.bits))
|
|
dec(&trace.data[cpu]->disabled);
|
|
}
|
|
}
|