root/arch/alpha/oprofile/op_impl.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /**
   2  * @file arch/alpha/oprofile/op_impl.h
   3  *
   4  * @remark Copyright 2002 OProfile authors
   5  * @remark Read the file COPYING
   6  *
   7  * @author Richard Henderson <rth@twiddle.net>
   8  */
   9 
  10 #ifndef OP_IMPL_H
  11 #define OP_IMPL_H 1
  12 
  13 /* Per-counter configuration as set via oprofilefs.  */
  14 struct op_counter_config {
  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.  */
  25 struct op_system_config {
  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.  */
  32 struct op_register_config {
  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 {
  43         void (*reg_setup) (struct op_register_config *,
  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

/* [<][>][^][v][top][bottom][index][help] */