X-Git-Url: https://git.wh0rd.org/?p=ICEs.git;a=blobdiff_plain;f=bfin-4845%2Ftrace.i.2;fp=bfin-4845%2Ftrace.i.2;h=aab37ed6d3a79673402ffd29f882117403892edf;hp=0000000000000000000000000000000000000000;hb=bd3239d2bbe0de3a200b266503e3330b1e391489;hpb=dbff64cb4b7530861c2309c794efdd4e0cf47a23 diff --git a/bfin-4845/trace.i.2 b/bfin-4845/trace.i.2 new file mode 100644 index 0000000..aab37ed --- /dev/null +++ b/bfin-4845/trace.i.2 @@ -0,0 +1,70 @@ +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; +struct mutex { + atomic_t count; + void *magic; +}; +typedef struct cpumask { + unsigned long + bits[(((1) + (8 * sizeof(long)) - 1) / (8 * sizeof(long)))]; +} cpumask_t; +struct seq_file { +}; +typedef int (*initcall_t) (void); +struct file_operations { + ssize_t(*read) (struct file *, char *, size_t, loff_t *); + ssize_t(*write) (struct file *, const char *, size_t, loff_t *); + int (*open) (struct inode *, struct file *); +} sigval_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; +struct mutex tracing_cpumask_update_lock; +ssize_t tracing_cpumask_read(struct file *filp, char *ubuf, size_t count, + loff_t * ppos) +{ +} +ssize_t tracing_cpumask_write(struct file *filp, const char *ubuf, + size_t count, loff_t * ppos) +{ + int err, 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); + } + } +} +struct file_operations tracing_cpumask_fops; +tracer_init_debugfs() +{ + debugfs_create_file( + &tracing_cpumask_fops); +} +initcall_t __initcall_tracer_init_debugfs5 = tracer_init_debugfs;