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