xref: /linux-6.15/arch/x86/kernel/cpu/Makefile (revision ec7972c9)
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
155c9a8750SDmitry Vyukov
165416c266SJeremy Fitzhardinge# Make sure load_percpu_segment has no stackprotector
175416c266SJeremy Fitzhardingenostackp := $(call cc-option, -fno-stack-protector)
185416c266SJeremy FitzhardingeCFLAGS_common.o		:= $(nostackp)
195416c266SJeremy Fitzhardinge
201d200c07SBorislav Petkovobj-y			:= cacheinfo.o scattered.o topology.o
219def39beSJosh Triplettobj-y			+= common.o
2249d859d7SH. Peter Anvinobj-y			+= rdrand.o
23644e9cbbSAndi Kleenobj-y			+= match.o
2462a67e12SBorislav Petkovobj-y			+= bugs.o
257d5905dcSRafael J. Wysockiobj-y			+= aperfmperf.o
260b00de85SAndi Kleenobj-y			+= cpuid-deps.o
27f7627e25SThomas Gleixner
2839f838e0SJosh Triplettobj-$(CONFIG_PROC_FS)	+= proc.o
299def39beSJosh Triplettobj-$(CONFIG_X86_FEATURE_NAMES) += capflags.o powerflags.o
3039f838e0SJosh Triplett
31be1fcde6SRafael J. Wysockiifdef CONFIG_CPU_SUP_INTEL
32be1fcde6SRafael J. Wysockiobj-y			+= intel.o intel_pconfig.o
33be1fcde6SRafael J. Wysockiobj-$(CONFIG_PM)	+= intel_epb.o
34be1fcde6SRafael J. Wysockiendif
35ff73152cSYinghai Luobj-$(CONFIG_CPU_SUP_AMD)		+= amd.o
36c9661c1eSPu Wenobj-$(CONFIG_CPU_SUP_HYGON)		+= hygon.o
378d02c211SThomas Petazzoniobj-$(CONFIG_CPU_SUP_CYRIX_32)		+= cyrix.o
3848f4c485SSebastian Andrzej Siewiorobj-$(CONFIG_CPU_SUP_CENTAUR)		+= centaur.o
398d02c211SThomas Petazzoniobj-$(CONFIG_CPU_SUP_TRANSMETA_32)	+= transmeta.o
408d02c211SThomas Petazzoniobj-$(CONFIG_CPU_SUP_UMC_32)		+= umc.o
41f7627e25SThomas Gleixner
4221afaf18SBorislav Petkovobj-$(CONFIG_X86_MCE)			+= mce/
4327bd0c95SThomas Gleixnerobj-$(CONFIG_MTRR)			+= mtrr/
44bad5fa63SBorislav Petkovobj-$(CONFIG_MICROCODE)			+= microcode/
45e6d42931SJohannes Weinerobj-$(CONFIG_X86_CPU_RESCTRL)		+= resctrl/
46f7627e25SThomas Gleixner
47218cfe4eSBorislav Petkovobj-$(CONFIG_X86_LOCAL_APIC)		+= perfctr-watchdog.o
487414aa41SH. Peter Anvin
496276a074SBorislav Petkovobj-$(CONFIG_HYPERVISOR_GUEST)		+= vmware.o hypervisor.o mshyperv.o
50*ec7972c9SZhao Yakuiobj-$(CONFIG_ACRN_GUEST)		+= acrn.o
516276a074SBorislav Petkov
529def39beSJosh Triplettifdef CONFIG_X86_FEATURE_NAMES
537414aa41SH. Peter Anvinquiet_cmd_mkcapflags = MKCAP   $@
540c0de199SRob Landley      cmd_mkcapflags = $(CONFIG_SHELL) $(srctree)/$(src)/mkcapflags.sh $< $@
557414aa41SH. Peter Anvin
56cd4d09ecSBorislav Petkovcpufeature = $(src)/../../include/asm/cpufeatures.h
577414aa41SH. Peter Anvin
587414aa41SH. Peter Anvintargets += capflags.c
590c0de199SRob Landley$(obj)/capflags.c: $(cpufeature) $(src)/mkcapflags.sh FORCE
607414aa41SH. Peter Anvin	$(call if_changed,mkcapflags)
619def39beSJosh Triplettendif
62280dbc57SBjørn Morkclean-files += capflags.c
63