859fb3bb22
This also fixes asserts on removal of the module for the mpc74xx. The PowerPC 970 processors have two different types of events: direct events and indirect events. Thus far only direct events are supported. I included some documentation in the driver on how indirect events work, but support is for the future. MFC after: 1 month
39 lines
693 B
C
39 lines
693 B
C
/*-
|
|
* This file is in the public domain.
|
|
*
|
|
* $FreeBSD$
|
|
*/
|
|
|
|
#ifndef _MACHINE_PMC_MDEP_H_
|
|
#define _MACHINE_PMC_MDEP_H_
|
|
|
|
#define PMC_MDEP_CLASS_INDEX_CPU 1
|
|
#define PMC_MDEP_CLASS_INDEX_PPC7450 1
|
|
#define PMC_MDEP_CLASS_INDEX_PPC970 1
|
|
|
|
union pmc_md_op_pmcallocate {
|
|
uint64_t __pad[4];
|
|
};
|
|
|
|
/* Logging */
|
|
#define PMCLOG_READADDR PMCLOG_READ32
|
|
#define PMCLOG_EMITADDR PMCLOG_EMIT32
|
|
|
|
#if _KERNEL
|
|
|
|
struct pmc_md_powerpc_pmc {
|
|
uint32_t pm_powerpc_evsel;
|
|
};
|
|
|
|
union pmc_md_pmc {
|
|
struct pmc_md_powerpc_pmc pm_powerpc;
|
|
};
|
|
|
|
#define PMC_TRAPFRAME_TO_PC(TF) ((TF)->srr0)
|
|
#define PMC_TRAPFRAME_TO_FP(TF) ((TF)->fixreg[1])
|
|
#define PMC_TRAPFRAME_TO_SP(TF) (0)
|
|
|
|
#endif
|
|
|
|
#endif /* !_MACHINE_PMC_MDEP_H_ */
|