Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/pmc.h
Context not available. | |||||
*/ | */ | ||||
#define __PMC_CLASSES() \ | #define __PMC_CLASSES() \ | ||||
__PMC_CLASS(TSC, 0x000, "CPU Timestamp counter") \ | __PMC_CLASS(TSC, 0x00, "CPU Timestamp counter") \ | ||||
__PMC_CLASS(K7, 0x100, "AMD K7 performance counters") \ | __PMC_CLASS(K7, 0x01, "AMD K7 performance counters") \ | ||||
__PMC_CLASS(K8, 0x101, "AMD K8 performance counters") \ | __PMC_CLASS(K8, 0x02, "AMD K8 performance counters") \ | ||||
__PMC_CLASS(P5, 0x102, "Intel Pentium counters") \ | __PMC_CLASS(P5, 0x03, "Intel Pentium counters") \ | ||||
__PMC_CLASS(P6, 0x103, "Intel Pentium Pro counters") \ | __PMC_CLASS(P6, 0x04, "Intel Pentium Pro counters") \ | ||||
__PMC_CLASS(P4, 0x104, "Intel Pentium-IV counters") \ | __PMC_CLASS(P4, 0x05, "Intel Pentium-IV counters") \ | ||||
__PMC_CLASS(IAF, 0x105, "Intel Core2/Atom, fixed function") \ | __PMC_CLASS(IAF, 0x06, "Intel Core2/Atom, fixed function") \ | ||||
__PMC_CLASS(IAP, 0x106, "Intel Core...Atom, programmable") \ | __PMC_CLASS(IAP, 0x07, "Intel Core...Atom, programmable") \ | ||||
__PMC_CLASS(UCF, 0x107, "Intel Uncore fixed function") \ | __PMC_CLASS(UCF, 0x08, "Intel Uncore fixed function") \ | ||||
__PMC_CLASS(UCP, 0x108, "Intel Uncore programmable") \ | __PMC_CLASS(UCP, 0x09, "Intel Uncore programmable") \ | ||||
__PMC_CLASS(XSCALE, 0x200, "Intel XScale counters") \ | __PMC_CLASS(XSCALE, 0x0A, "Intel XScale counters") \ | ||||
__PMC_CLASS(ARMV7, 0x201, "ARMv7") \ | __PMC_CLASS(ARMV7, 0x0B, "ARMv7") \ | ||||
__PMC_CLASS(ARMV8, 0x202, "ARMv8") \ | __PMC_CLASS(ARMV8, 0x0C, "ARMv8") \ | ||||
__PMC_CLASS(MIPS24K, 0x300, "MIPS 24K") \ | __PMC_CLASS(MIPS24K, 0x0D, "MIPS 24K") \ | ||||
__PMC_CLASS(OCTEON, 0x301, "Cavium Octeon") \ | __PMC_CLASS(OCTEON, 0x0E, "Cavium Octeon") \ | ||||
__PMC_CLASS(MIPS74K, 0x302, "MIPS 74K") \ | __PMC_CLASS(MIPS74K, 0x0F, "MIPS 74K") \ | ||||
__PMC_CLASS(PPC7450, 0x400, "Motorola MPC7450 class") \ | __PMC_CLASS(PPC7450, 0x10, "Motorola MPC7450 class") \ | ||||
__PMC_CLASS(PPC970, 0x401, "IBM PowerPC 970 class") \ | __PMC_CLASS(PPC970, 0x11, "IBM PowerPC 970 class") \ | ||||
__PMC_CLASS(E500, 0x402, "Freescale e500 class") \ | __PMC_CLASS(E500, 0x12, "Freescale e500 class") \ | ||||
__PMC_CLASS(SOFT, 0x8000, "Software events") | __PMC_CLASS(SOFT, 0x13, "Software events") | ||||
jhb: Please set this one to something large like 0xFE or 0x80. One of the main problems before was… | |||||
fabientAuthorUnsubmitted Not Done Inline ActionsFine; I will change to 0xFF but from my POV if I remember well there is no requirement to set SOFT the last one. So I can move SOFT to be the first one instead ? this was originally added at the end to not broke compat. The only requirement is on CLASS_INDEX where i've reserved 0 for SOFT index. fabient: Fine; I will change to 0xFF but from my POV if I remember well there is no requirement to set… | |||||
jhbUnsubmitted Not Done Inline ActionsI'm fine with moving SOFT to the beginning. We've already destroyed compat in HEAD as it is. Alternatively, we could pick the values used in 10 and fix the classes at those values for 11 and later (I think SOFT would then end up in the middle). You can choose which you think is best. jhb: I'm fine with moving SOFT to the beginning. We've already destroyed compat in HEAD as it is. | |||||
enum pmc_class { | enum pmc_class { | ||||
#undef __PMC_CLASS | #undef __PMC_CLASS | ||||
Context not available. |
Please set this one to something large like 0xFE or 0x80. One of the main problems before was that people kept adding new entries before SOFT to keep it last.