| Paul Mundt | 60a51fb | 2008-12-16 09:33:53 +0900 | [diff] [blame] | 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 */ |