blob: 9f5cdff041bec07a3e10d6eea54bfc4fb1238838 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/**
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. */
14struct 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. */
26struct 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