xref: /linux/arch/x86/kernel/cpu/Makefile (revision 25768de50b1f2dbb6ea44bd5148a87fe2c9c3688)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2f7627e25SThomas Gleixner#
3241771efSIngo Molnar# Makefile for x86-compatible CPU details, features and quirks
4f7627e25SThomas Gleixner#
5f7627e25SThomas Gleixner
60ca59dd9SFrederic Weisbecker# Don't trace early stages of a secondary CPU boot
70ca59dd9SFrederic Weisbeckerifdef CONFIG_FUNCTION_TRACER
80ca59dd9SFrederic WeisbeckerCFLAGS_REMOVE_common.o = -pg
96e3d8330SIngo MolnarCFLAGS_REMOVE_perf_event.o = -pg
100ca59dd9SFrederic Weisbeckerendif
110ca59dd9SFrederic Weisbecker
125c9a8750SDmitry Vyukov# If these files are instrumented, boot hangs during the first second.
135c9a8750SDmitry VyukovKCOV_INSTRUMENT_common.o := n
145c9a8750SDmitry VyukovKCOV_INSTRUMENT_perf_event.o := n
1593324e68SAlexander PotapenkoKMSAN_SANITIZE_common.o := n
165c9a8750SDmitry Vyukov
1740d04110SMarco Elver# As above, instrumenting secondary CPU boot code causes boot hangs.
1840d04110SMarco ElverKCSAN_SANITIZE_common.o := n
1940d04110SMarco Elver
20ebdb2036SThomas Gleixnerobj-y			:= cacheinfo.o scattered.o
216cf70394SThomas Gleixnerobj-y			+= topology_common.o topology_ext.o topology_amd.o
229def39beSJosh Triplettobj-y			+= common.o
2349d859d7SH. Peter Anvinobj-y			+= rdrand.o
24644e9cbbSAndi Kleenobj-y			+= match.o
2562a67e12SBorislav Petkovobj-y			+= bugs.o
267d5905dcSRafael J. Wysockiobj-y			+= aperfmperf.o
270b00de85SAndi Kleenobj-y			+= cpuid-deps.o
28bd688c69SFenghua Yuobj-y			+= umwait.o
29c0a66c28SThomas Gleixnerobj-y 			+= capflags.o powerflags.o
30c0a66c28SThomas Gleixner
31c0a66c28SThomas Gleixnerobj-$(CONFIG_X86_LOCAL_APIC)		+= topology.o
32f7627e25SThomas Gleixner
3339f838e0SJosh Triplettobj-$(CONFIG_PROC_FS)			+= proc.o
3439f838e0SJosh Triplett
351db2a6e1SSean Christophersonobj-$(CONFIG_IA32_FEAT_CTL)		+= feat_ctl.o
36be1fcde6SRafael J. Wysockiifdef CONFIG_CPU_SUP_INTEL
37079544ecSAlison Schofieldobj-y					+= intel.o tsx.o
38be1fcde6SRafael J. Wysockiobj-$(CONFIG_PM)			+= intel_epb.o
39be1fcde6SRafael J. Wysockiendif
40ff73152cSYinghai Luobj-$(CONFIG_CPU_SUP_AMD)		+= amd.o
41c9661c1eSPu Wenobj-$(CONFIG_CPU_SUP_HYGON)		+= hygon.o
428d02c211SThomas Petazzoniobj-$(CONFIG_CPU_SUP_CYRIX_32)		+= cyrix.o
4348f4c485SSebastian Andrzej Siewiorobj-$(CONFIG_CPU_SUP_CENTAUR)		+= centaur.o
448d02c211SThomas Petazzoniobj-$(CONFIG_CPU_SUP_TRANSMETA_32)	+= transmeta.o
458d02c211SThomas Petazzoniobj-$(CONFIG_CPU_SUP_UMC_32)		+= umc.o
46761fdd5eSTony W Wang-ocobj-$(CONFIG_CPU_SUP_ZHAOXIN)		+= zhaoxin.o
47639475d4SMarcos Del Sol Vivesobj-$(CONFIG_CPU_SUP_VORTEX_32)		+= vortex.o
48f7627e25SThomas Gleixner
4921afaf18SBorislav Petkovobj-$(CONFIG_X86_MCE)			+= mce/
5027bd0c95SThomas Gleixnerobj-$(CONFIG_MTRR)			+= mtrr/
51bad5fa63SBorislav Petkovobj-$(CONFIG_MICROCODE)			+= microcode/
52e6d42931SJohannes Weinerobj-$(CONFIG_X86_CPU_RESCTRL)		+= resctrl/
53e7e05452SSean Christophersonobj-$(CONFIG_X86_SGX)			+= sgx/
54f7627e25SThomas Gleixner
55218cfe4eSBorislav Petkovobj-$(CONFIG_X86_LOCAL_APIC)		+= perfctr-watchdog.o
567414aa41SH. Peter Anvin
576276a074SBorislav Petkovobj-$(CONFIG_HYPERVISOR_GUEST)		+= vmware.o hypervisor.o mshyperv.o
58ec7972c9SZhao Yakuiobj-$(CONFIG_ACRN_GUEST)		+= acrn.o
596276a074SBorislav Petkov
6048525fd1SThomas Gleixnerobj-$(CONFIG_DEBUG_FS)			+= debugfs.o
6148525fd1SThomas Gleixner
62*350afa8aSRavi Bangoriaobj-$(CONFIG_X86_BUS_LOCK_DETECT)	+= bus_lock.o
63*350afa8aSRavi Bangoria
647414aa41SH. Peter Anvinquiet_cmd_mkcapflags = MKCAP   $@
65b1992c37SMasahiro Yamada      cmd_mkcapflags = $(CONFIG_SHELL) $(src)/mkcapflags.sh $@ $^
667414aa41SH. Peter Anvin
67cd4d09ecSBorislav Petkovcpufeature = $(src)/../../include/asm/cpufeatures.h
6814442a15SSean Christophersonvmxfeature = $(src)/../../include/asm/vmxfeatures.h
697414aa41SH. Peter Anvin
7014442a15SSean Christopherson$(obj)/capflags.c: $(cpufeature) $(vmxfeature) $(src)/mkcapflags.sh FORCE
717414aa41SH. Peter Anvin	$(call if_changed,mkcapflags)
7287b61864SMasahiro Yamadatargets += capflags.c
73