Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 | # |
Ingo Molnar | 241771e | 2008-12-03 10:39:53 +0100 | [diff] [blame] | 3 | # Makefile for x86-compatible CPU details, features and quirks |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | # |
| 5 | |
Frederic Weisbecker | 0ca59dd | 2008-12-24 23:30:02 +0100 | [diff] [blame] | 6 | # Don't trace early stages of a secondary CPU boot |
| 7 | ifdef CONFIG_FUNCTION_TRACER |
| 8 | CFLAGS_REMOVE_common.o = -pg |
Ingo Molnar | 6e3d833 | 2009-11-23 10:19:20 +0100 | [diff] [blame] | 9 | CFLAGS_REMOVE_perf_event.o = -pg |
Frederic Weisbecker | 0ca59dd | 2008-12-24 23:30:02 +0100 | [diff] [blame] | 10 | endif |
| 11 | |
Dmitry Vyukov | 5c9a875 | 2016-03-22 14:27:30 -0700 | [diff] [blame] | 12 | # If these files are instrumented, boot hangs during the first second. |
| 13 | KCOV_INSTRUMENT_common.o := n |
| 14 | KCOV_INSTRUMENT_perf_event.o := n |
| 15 | |
Jeremy Fitzhardinge | 5416c26 | 2009-08-17 12:25:41 -0700 | [diff] [blame] | 16 | # Make sure load_percpu_segment has no stackprotector |
| 17 | nostackp := $(call cc-option, -fno-stack-protector) |
| 18 | CFLAGS_common.o := $(nostackp) |
| 19 | |
Borislav Petkov | 1d200c07 | 2018-04-27 16:34:36 -0500 | [diff] [blame] | 20 | obj-y := cacheinfo.o scattered.o topology.o |
Josh Triplett | 9def39be | 2013-10-30 08:09:45 -0700 | [diff] [blame] | 21 | obj-y += common.o |
H. Peter Anvin | 49d859d | 2011-07-31 14:02:19 -0700 | [diff] [blame] | 22 | obj-y += rdrand.o |
Andi Kleen | 644e9cb | 2012-01-26 00:09:05 +0100 | [diff] [blame] | 23 | obj-y += match.o |
Borislav Petkov | 62a67e1 | 2016-10-24 19:38:43 +0200 | [diff] [blame] | 24 | obj-y += bugs.o |
Rafael J. Wysocki | 7d5905d | 2017-11-15 02:13:40 +0100 | [diff] [blame] | 25 | obj-y += aperfmperf.o |
Andi Kleen | 0b00de8 | 2017-10-13 14:56:42 -0700 | [diff] [blame] | 26 | obj-y += cpuid-deps.o |
Fenghua Yu | bd688c6 | 2019-06-19 18:33:55 -0700 | [diff] [blame] | 27 | obj-y += umwait.o |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 28 | |
Josh Triplett | 39f838e | 2013-10-30 14:21:53 +0000 | [diff] [blame] | 29 | obj-$(CONFIG_PROC_FS) += proc.o |
Josh Triplett | 9def39be | 2013-10-30 08:09:45 -0700 | [diff] [blame] | 30 | obj-$(CONFIG_X86_FEATURE_NAMES) += capflags.o powerflags.o |
Josh Triplett | 39f838e | 2013-10-30 14:21:53 +0000 | [diff] [blame] | 31 | |
Rafael J. Wysocki | be1fcde | 2019-05-27 12:56:07 +0200 | [diff] [blame] | 32 | ifdef CONFIG_CPU_SUP_INTEL |
| 33 | obj-y += intel.o intel_pconfig.o |
| 34 | obj-$(CONFIG_PM) += intel_epb.o |
| 35 | endif |
Yinghai Lu | ff73152 | 2008-09-07 17:58:56 -0700 | [diff] [blame] | 36 | obj-$(CONFIG_CPU_SUP_AMD) += amd.o |
Pu Wen | c9661c1 | 2018-09-23 17:33:12 +0800 | [diff] [blame] | 37 | obj-$(CONFIG_CPU_SUP_HYGON) += hygon.o |
Thomas Petazzoni | 8d02c21 | 2008-08-05 11:45:19 +0200 | [diff] [blame] | 38 | obj-$(CONFIG_CPU_SUP_CYRIX_32) += cyrix.o |
Sebastian Andrzej Siewior | 48f4c48 | 2009-03-14 12:24:02 +0100 | [diff] [blame] | 39 | obj-$(CONFIG_CPU_SUP_CENTAUR) += centaur.o |
Thomas Petazzoni | 8d02c21 | 2008-08-05 11:45:19 +0200 | [diff] [blame] | 40 | obj-$(CONFIG_CPU_SUP_TRANSMETA_32) += transmeta.o |
Thomas Petazzoni | 8d02c21 | 2008-08-05 11:45:19 +0200 | [diff] [blame] | 41 | obj-$(CONFIG_CPU_SUP_UMC_32) += umc.o |
Tony W Wang-oc | 761fdd5 | 2019-06-18 08:37:05 +0000 | [diff] [blame] | 42 | obj-$(CONFIG_CPU_SUP_ZHAOXIN) += zhaoxin.o |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 43 | |
Borislav Petkov | 21afaf1 | 2018-11-18 15:15:05 +0100 | [diff] [blame] | 44 | obj-$(CONFIG_X86_MCE) += mce/ |
Ingo Molnar | 241771e | 2008-12-03 10:39:53 +0100 | [diff] [blame] | 45 | obj-$(CONFIG_MTRR) += mtrr/ |
Borislav Petkov | bad5fa6 | 2013-12-01 18:09:58 +0100 | [diff] [blame] | 46 | obj-$(CONFIG_MICROCODE) += microcode/ |
Johannes Weiner | e6d4293 | 2019-01-29 17:44:36 -0500 | [diff] [blame] | 47 | obj-$(CONFIG_X86_CPU_RESCTRL) += resctrl/ |
Ingo Molnar | 241771e | 2008-12-03 10:39:53 +0100 | [diff] [blame] | 48 | |
Borislav Petkov | 218cfe4 | 2016-02-08 17:09:06 +0100 | [diff] [blame] | 49 | obj-$(CONFIG_X86_LOCAL_APIC) += perfctr-watchdog.o |
H. Peter Anvin | 7414aa4 | 2008-08-27 17:56:44 -0700 | [diff] [blame] | 50 | |
Borislav Petkov | 6276a07 | 2013-03-04 21:20:21 +0100 | [diff] [blame] | 51 | obj-$(CONFIG_HYPERVISOR_GUEST) += vmware.o hypervisor.o mshyperv.o |
Zhao Yakui | ec7972c | 2019-04-30 11:45:24 +0800 | [diff] [blame] | 52 | obj-$(CONFIG_ACRN_GUEST) += acrn.o |
Borislav Petkov | 6276a07 | 2013-03-04 21:20:21 +0100 | [diff] [blame] | 53 | |
Josh Triplett | 9def39be | 2013-10-30 08:09:45 -0700 | [diff] [blame] | 54 | ifdef CONFIG_X86_FEATURE_NAMES |
H. Peter Anvin | 7414aa4 | 2008-08-27 17:56:44 -0700 | [diff] [blame] | 55 | quiet_cmd_mkcapflags = MKCAP $@ |
Rob Landley | 0c0de19 | 2013-04-29 15:05:53 -0700 | [diff] [blame] | 56 | cmd_mkcapflags = $(CONFIG_SHELL) $(srctree)/$(src)/mkcapflags.sh $< $@ |
H. Peter Anvin | 7414aa4 | 2008-08-27 17:56:44 -0700 | [diff] [blame] | 57 | |
Borislav Petkov | cd4d09e | 2016-01-26 22:12:04 +0100 | [diff] [blame] | 58 | cpufeature = $(src)/../../include/asm/cpufeatures.h |
H. Peter Anvin | 7414aa4 | 2008-08-27 17:56:44 -0700 | [diff] [blame] | 59 | |
Rob Landley | 0c0de19 | 2013-04-29 15:05:53 -0700 | [diff] [blame] | 60 | $(obj)/capflags.c: $(cpufeature) $(src)/mkcapflags.sh FORCE |
H. Peter Anvin | 7414aa4 | 2008-08-27 17:56:44 -0700 | [diff] [blame] | 61 | $(call if_changed,mkcapflags) |
Josh Triplett | 9def39be | 2013-10-30 08:09:45 -0700 | [diff] [blame] | 62 | endif |
Masahiro Yamada | 87b6186 | 2019-06-25 16:33:11 +0900 | [diff] [blame] | 63 | targets += capflags.c |