1 /*-
2 * This file is in the public domain.
3 *
4 * from: src/sys/alpha/include/pmc_mdep.h,v 1.2 2005/06/09 19:45:06 jkoshy
5 * $FreeBSD: releng/9.0/sys/mips/include/pmc_mdep.h 204635 2010-03-03 15:05:58Z gnn $
6 */
7
8 #ifndef _MACHINE_PMC_MDEP_H_
9 #define _MACHINE_PMC_MDEP_H_
10
11 #define PMC_MDEP_CLASS_INDEX_MIPS24K 0
12 #include <dev/hwpmc/hwpmc_mips24k.h>
13
14 union pmc_md_op_pmcallocate {
15 uint64_t __pad[4];
16 };
17
18 /* Logging */
19 #define PMCLOG_READADDR PMCLOG_READ32
20 #define PMCLOG_EMITADDR PMCLOG_EMIT32
21
22 #if _KERNEL
23 union pmc_md_pmc {
24 struct pmc_md_mips24k_pmc pm_mips24k;
25 };
26
27 #define PMC_TRAPFRAME_TO_PC(TF) ((TF)->pc)
28 #define PMC_TRAPFRAME_TO_FP(TF) ((TF)->tf_usr_lr)
29 #define PMC_TRAPFRAME_TO_SP(TF) ((TF)->tf_usr_sp)
30
31 /*
32 * Prototypes
33 */
34 struct pmc_mdep *pmc_mips24k_initialize(void);
35 void pmc_mips24k_finalize(struct pmc_mdep *_md);
36 #endif /* _KERNEL */
37
38 #endif /* !_MACHINE_PMC_MDEP_H_ */
Cache object: 19cdf6d16667aa0a66488be7a934cc68
|