Back to home page

LXR

 
 

    


0001 /**
0002  * @file arch/alpha/oprofile/op_impl.h
0003  *
0004  * @remark Copyright 2002 OProfile authors
0005  * @remark Read the file COPYING
0006  *
0007  * @author Richard Henderson <rth@twiddle.net>
0008  */
0009 
0010 #ifndef OP_IMPL_H
0011 #define OP_IMPL_H 1
0012 
0013 extern int (*perf_irq)(void);
0014 
0015 /* Per-counter configuration as set via oprofilefs.  */
0016 struct op_counter_config {
0017     unsigned long enabled;
0018     unsigned long event;
0019     unsigned long count;
0020     /* Dummies because I am too lazy to hack the userspace tools.  */
0021     unsigned long kernel;
0022     unsigned long user;
0023     unsigned long exl;
0024     unsigned long unit_mask;
0025 };
0026 
0027 /* Per-architecture configure and hooks.  */
0028 struct op_mips_model {
0029     void (*reg_setup) (struct op_counter_config *);
0030     void (*cpu_setup) (void *dummy);
0031     int (*init)(void);
0032     void (*exit)(void);
0033     void (*cpu_start)(void *args);
0034     void (*cpu_stop)(void *args);
0035     char *cpu_type;
0036     unsigned char num_counters;
0037 };
0038 
0039 void op_mips_backtrace(struct pt_regs * const regs, unsigned int depth);
0040 
0041 #endif