]> git.wh0rd.org - ICEs.git/blob - bfin-4845/trace.i.6
more
[ICEs.git] / bfin-4845 / trace.i.6
1 int test_bit(int nr, const void *addr)
2 {
3 int *a = (int *)addr;
4 int mask;
5 a += nr >> 5;
6 mask = 1 << (nr & 0x1f);
7 return ((mask & *a) != 0);
8 }
9 typedef struct cpumask {
10 unsigned long bits[1];
11 } cpumask_t;
12 struct trace_array_cpu {
13 int disabled;
14 };
15 struct trace_array {
16 struct trace_array_cpu *data[1];
17 };
18 cpumask_t tracing_buffer_mask;
19 struct trace_array global_trace;
20 cpumask_t tracing_cpumask;
21 cpumask_t tracing_cpumask_new;
22 tracing_cpumask_write()
23 {
24 int cpu;
25 for (cpu = 0; cpu < 1; cpu++) {
26 if (test_bit(cpu, tracing_cpumask.bits))
27 atomic_inc(&global_trace.data[cpu]->disabled);
28 if (!test_bit(cpu, tracing_cpumask.bits))
29 atomic_dec(&global_trace.data[cpu]->disabled);
30 }
31 }