/** * @file arch/alpha/oprofile/op_impl.h * * @remark Copyright 2002 OProfile authors * @remark Read the file COPYING * * @author Richard Henderson <rth@twiddle.net> */ #ifndef OP_IMPL_H #define OP_IMPL_H 1 extern int (*perf_irq)(void); /* Per-counter configuration as set via oprofilefs. */ struct op_counter_config { unsigned long enabled; unsigned long event; unsigned long count; /* Dummies because I am too lazy to hack the userspace tools. */ unsigned long kernel; unsigned long user; unsigned long exl; unsigned long unit_mask; }; /* Per-architecture configure and hooks. */ struct op_mips_model { void (*reg_setup) (struct op_counter_config *); void (*cpu_setup) (void *dummy); int (*init)(void); void (*exit)(void); void (*cpu_start)(void *args); void (*cpu_stop)(void *args); char *cpu_type; unsigned char num_counters; }; void op_mips_backtrace(struct pt_regs * const regs, unsigned int depth); #endif