1 #ifndef __OP_IMPL_H 2 #define __OP_IMPL_H 3 4 /* Per-counter configuration as set via oprofilefs. */ 5 struct op_counter_config { 6 unsigned long enabled; 7 unsigned long event; 8 9 unsigned long long count; 10 11 /* Dummy values for userspace tool compliance */ 12 unsigned long kernel; 13 unsigned long user; 14 unsigned long unit_mask; 15 }; 16 17 /* Per-architecture configury and hooks. */ 18 struct op_sh_model { 19 void (*reg_setup)(struct op_counter_config *); 20 int (*create_files)(struct super_block *sb, struct dentry *dir); 21 void (*cpu_setup)(void *dummy); 22 int (*init)(void); 23 void (*exit)(void); 24 void (*cpu_start)(void *args); 25 void (*cpu_stop)(void *args); 26 char *cpu_type; 27 unsigned char num_counters; 28 }; 29 30 /* arch/sh/oprofile/common.c */ 31 extern void sh_backtrace(struct pt_regs * const regs, unsigned int depth); 32 33 #endif /* __OP_IMPL_H */ 34