]> git.wh0rd.org - ICEs.git/blobdiff - bfin-4845/trace.i.6
more
[ICEs.git] / bfin-4845 / trace.i.6
diff --git a/bfin-4845/trace.i.6 b/bfin-4845/trace.i.6
new file mode 100644 (file)
index 0000000..71c2574
--- /dev/null
@@ -0,0 +1,31 @@
+int test_bit(int nr, const void *addr)
+{
+       int *a = (int *)addr;
+       int mask;
+       a += nr >> 5;
+       mask = 1 << (nr & 0x1f);
+       return ((mask & *a) != 0);
+}
+typedef struct cpumask {
+       unsigned long bits[1];
+} cpumask_t;
+struct trace_array_cpu {
+       int disabled;
+};
+struct trace_array {
+       struct trace_array_cpu *data[1];
+};
+cpumask_t tracing_buffer_mask;
+struct trace_array global_trace;
+cpumask_t tracing_cpumask;
+cpumask_t tracing_cpumask_new;
+tracing_cpumask_write()
+{
+       int cpu;
+       for (cpu = 0; cpu < 1; cpu++) {
+               if (test_bit(cpu, tracing_cpumask.bits))
+                       atomic_inc(&global_trace.data[cpu]->disabled);
+               if (!test_bit(cpu, tracing_cpumask.bits))
+                       atomic_dec(&global_trace.data[cpu]->disabled);
+       }
+}