]> git.wh0rd.org - ICEs.git/blobdiff - bfin-4845/trace.i.3
more
[ICEs.git] / bfin-4845 / trace.i.3
diff --git a/bfin-4845/trace.i.3 b/bfin-4845/trace.i.3
new file mode 100644 (file)
index 0000000..b9fa610
--- /dev/null
@@ -0,0 +1,47 @@
+typedef unsigned long size_t;
+typedef long ssize_t;
+typedef long long loff_t;
+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);
+}
+int test_bit(int nr, const void *addr)
+{
+       return __test_bit(nr, addr);
+};
+typedef struct {
+} atomic_t;
+typedef struct cpumask {
+       unsigned long
+           bits[(((1) + (8 * sizeof(long)) - 1) / (8 * sizeof(long)))];
+} cpumask_t;
+struct trace_array_cpu {
+       atomic_t 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(struct file *filp, const char *ubuf, size_t count,
+                             loff_t * ppos)
+{
+       int err;
+       int cpu;
+       for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)tracing_buffer_mask) {
+               if (test_bit((cpu), (tracing_cpumask).bits)
+                   && !test_bit((cpu), (tracing_cpumask_new).bits)) {
+                       atomic_inc(&global_trace.data[cpu]->disabled);
+               }
+               if (!test_bit((cpu), (tracing_cpumask).bits)
+                   && test_bit((cpu), (tracing_cpumask_new).bits)) {
+                       atomic_dec(&global_trace.data[cpu]->disabled);
+               }
+       }
+}