Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
op_impl.h
Go to the documentation of this file.
1 
10 #ifndef OP_IMPL_H
11 #define OP_IMPL_H 1
12 
13 /* Per-counter configuration as set via oprofilefs. */
15  unsigned long enabled;
16  unsigned long event;
17  unsigned long count;
18  /* Dummies because I am too lazy to hack the userspace tools. */
19  unsigned long kernel;
20  unsigned long user;
21  unsigned long unit_mask;
22 };
23 
24 /* System-wide configuration as set via oprofilefs. */
26  unsigned long enable_pal;
27  unsigned long enable_kernel;
28  unsigned long enable_user;
29 };
30 
31 /* Cached values for the various performance monitoring registers. */
33  unsigned long enable;
34  unsigned long mux_select;
35  unsigned long proc_mode;
36  unsigned long freq;
37  unsigned long reset_values;
38  unsigned long need_reset;
39 };
40 
41 /* Per-architecture configuration and hooks. */
42 struct op_axp_model {
44  struct op_counter_config *,
45  struct op_system_config *);
46  void (*cpu_setup) (void *);
47  void (*reset_ctr) (struct op_register_config *, unsigned long);
48  void (*handle_interrupt) (unsigned long, struct pt_regs *,
49  struct op_counter_config *);
50  char *cpu_type;
51  unsigned char num_counters;
52  unsigned char can_set_proc_mode;
53 };
54 
55 #endif