pmc_mdep.h revision 204635
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: head/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
14union 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
23union 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 */
34struct pmc_mdep *pmc_mips24k_initialize(void);
35void		pmc_mips24k_finalize(struct pmc_mdep *_md);
36#endif /* _KERNEL */
37
38#endif /* !_MACHINE_PMC_MDEP_H_ */
39