]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 | ||
54176736 RB |
13 | struct pt_regs; |
14 | ||
ba339c03 RB |
15 | extern int null_perf_irq(struct pt_regs *regs); |
16 | extern int (*perf_irq)(struct pt_regs *regs); | |
54176736 | 17 | |
1da177e4 LT |
18 | /* Per-counter configuration as set via oprofilefs. */ |
19 | struct op_counter_config { | |
20 | unsigned long enabled; | |
21 | unsigned long event; | |
22 | unsigned long count; | |
23 | /* Dummies because I am too lazy to hack the userspace tools. */ | |
24 | unsigned long kernel; | |
25 | unsigned long user; | |
26 | unsigned long exl; | |
27 | unsigned long unit_mask; | |
28 | }; | |
29 | ||
30 | /* Per-architecture configury and hooks. */ | |
31 | struct op_mips_model { | |
32 | void (*reg_setup) (struct op_counter_config *); | |
33 | void (*cpu_setup) (void * dummy); | |
34 | int (*init)(void); | |
35 | void (*exit)(void); | |
36 | void (*cpu_start)(void *args); | |
37 | void (*cpu_stop)(void *args); | |
38 | char *cpu_type; | |
39 | unsigned char num_counters; | |
40 | }; | |
41 | ||
42 | #endif |