• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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