Linux-2.6.12-rc2
[linux-2.6.git] / arch / mips / oprofile / op_impl.h
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 exl;
22         unsigned long unit_mask;
23 };
24
25 /* Per-architecture configury and hooks.  */
26 struct op_mips_model {
27         void (*reg_setup) (struct op_counter_config *);
28         void (*cpu_setup) (void * dummy);
29         int (*init)(void);
30         void (*exit)(void);
31         void (*cpu_start)(void *args);
32         void (*cpu_stop)(void *args);
33         char *cpu_type;
34         unsigned char num_counters;
35 };
36
37 #endif