2f6bd2cd39
Intel now provides comprehensive tables for all performance counters and the various valid configuration permutations as text .json files. Libpmc has been converted to use these and hwpmc_core has been greatly simplified by moving to passthrough of the table values. The one gotcha is that said tables don't support pentium pro and and pentium IV. There's very few users of hwpmc on _amd64_ kernels on new hardware. It is unlikely that anyone is doing low level optimization on 15 year old Intel hardware. Nonetheless, if someone feels strongly enough to populate the corresponding tables for p4 and ppro I will reinstate the files in to the build. Code for the K8 counters and !x86 architectures remains unchanged.
40 lines
787 B
Makefile
40 lines
787 B
Makefile
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
.PATH: ${SRCTOP}/sys/dev/hwpmc
|
|
|
|
KMOD= hwpmc
|
|
|
|
SRCS= hwpmc_mod.c hwpmc_logging.c hwpmc_soft.c vnode_if.h
|
|
|
|
.if ${MACHINE_CPUARCH} == "aarch64"
|
|
SRCS+= hwpmc_arm64.c hwpmc_arm64_md.c
|
|
.endif
|
|
|
|
.if ${MACHINE_CPUARCH} == "amd64"
|
|
SRCS+= hwpmc_amd.c hwpmc_core.c hwpmc_intel.c hwpmc_tsc.c
|
|
SRCS+= hwpmc_x86.c hwpmc_uncore.c
|
|
SRCS+= device_if.h bus_if.h
|
|
.endif
|
|
|
|
.if ${MACHINE_CPUARCH} == "arm"
|
|
SRCS+= hwpmc_arm.c
|
|
.endif
|
|
|
|
.if ${MACHINE_CPUARCH} == "i386"
|
|
SRCS+= hwpmc_amd.c hwpmc_core.c hwpmc_intel.c
|
|
SRCS+= hwpmc_tsc.c hwpmc_x86.c hwpmc_uncore.c
|
|
SRCS+= device_if.h bus_if.h
|
|
.endif
|
|
|
|
.if ${MACHINE_CPUARCH} == "powerpc"
|
|
SRCS+= hwpmc_powerpc.c hwpmc_e500.c hwpmc_mpc7xxx.c hwpmc_ppc970.c
|
|
.endif
|
|
|
|
.if ${MACHINE_CPUARCH} == "sparc64"
|
|
SRCS+= hwpmc_sparc64.c
|
|
.endif
|
|
|
|
.include <bsd.kmod.mk>
|