]> git.wh0rd.org - ICEs.git/blame - bfin-4845/trace.i.5
more
[ICEs.git] / bfin-4845 / trace.i.5
CommitLineData
bd3239d2
MF
1int __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}
9int test_bit(int nr, const void *addr)
10{
11 return __test_bit(nr, addr);
12};
13typedef struct cpumask {
14 unsigned long
15 bits[(((1) + (8 * sizeof(long)) - 1) / (8 * sizeof(long)))];
16} cpumask_t;
17struct trace_array_cpu {
18 int disabled;
19};
20struct trace_array {
21 struct trace_array_cpu *data[1];
22};
23cpumask_t tracing_buffer_mask;
24struct trace_array global_trace;
25cpumask_t tracing_cpumask;
26cpumask_t tracing_cpumask_new;
27tracing_cpumask_write()
28{
29 int cpu;
30 for ((cpu) = 0; (cpu) < 1; (cpu)++) {
31 if (test_bit((cpu), (tracing_cpumask).bits)
32 && !test_bit((cpu), (tracing_cpumask_new).bits)) {
33 atomic_inc(&global_trace.data[cpu]->disabled);
34 }
35 if (!test_bit((cpu), (tracing_cpumask).bits)
36 && test_bit((cpu), (tracing_cpumask_new).bits)) {
37 atomic_dec(&global_trace.data[cpu]->disabled);
38 }
39 }
40}