mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-04 04:02:26 +00:00
x86/cpu: Remove X86_FEATURE_NAMES
While discussing to change the visibility of X86_FEATURE_NAMES (see Link) in order to remove CONFIG_EMBEDDED, Boris suggested to simply make the X86_FEATURE_NAMES functionality unconditional. As the need for really tiny kernel images has gone away and kernel images with !X86_FEATURE_NAMES are hardly tested, remove this config and the whole ifdeffery in the source code. Suggested-by: Borislav Petkov <bp@alien8.de> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Link: https://lore.kernel.org/all/20230509084007.24373-1-lukas.bulwahn@gmail.com/ Link: https://lore.kernel.org/r/20230510065713.10996-3-lukas.bulwahn@gmail.com
This commit is contained in:
parent
424e23fd6c
commit
7583e8fbdc
@ -291,7 +291,6 @@ config X86
|
||||
select TRACE_IRQFLAGS_NMI_SUPPORT
|
||||
select USER_STACKTRACE_SUPPORT
|
||||
select HAVE_ARCH_KCSAN if X86_64
|
||||
select X86_FEATURE_NAMES if PROC_FS
|
||||
select PROC_PID_ARCH_STATUS if PROC_FS
|
||||
select HAVE_ARCH_NODE_DEV_GROUP if X86_SGX
|
||||
select FUNCTION_ALIGNMENT_16B if X86_64 || X86_ALIGNMENT_16
|
||||
@ -441,17 +440,6 @@ config SMP
|
||||
|
||||
If you don't know what to do here, say N.
|
||||
|
||||
config X86_FEATURE_NAMES
|
||||
bool
|
||||
default y
|
||||
help
|
||||
This option compiles in a table of x86 feature bits and corresponding
|
||||
names. This is required to support /proc/cpuinfo and a few kernel
|
||||
messages. You can disable this to save space, at the expense of
|
||||
making those few kernel messages show numeric feature bits instead.
|
||||
|
||||
If in doubt, say Y.
|
||||
|
||||
config X86_X2APIC
|
||||
bool "Support x2apic"
|
||||
depends on X86_LOCAL_APIC && X86_64 && (IRQ_REMAP || HYPERVISOR_GUEST)
|
||||
|
@ -389,7 +389,7 @@ config IA32_FEAT_CTL
|
||||
|
||||
config X86_VMX_FEATURE_NAMES
|
||||
def_bool y
|
||||
depends on IA32_FEAT_CTL && X86_FEATURE_NAMES
|
||||
depends on IA32_FEAT_CTL
|
||||
|
||||
menuconfig PROCESSOR_SELECT
|
||||
bool "Supported processor vendors" if EXPERT
|
||||
|
@ -55,14 +55,12 @@ HOST_EXTRACFLAGS += -I$(srctree)/tools/include \
|
||||
-include include/generated/autoconf.h \
|
||||
-D__EXPORTED_HEADERS__
|
||||
|
||||
ifdef CONFIG_X86_FEATURE_NAMES
|
||||
$(obj)/cpu.o: $(obj)/cpustr.h
|
||||
|
||||
quiet_cmd_cpustr = CPUSTR $@
|
||||
cmd_cpustr = $(obj)/mkcpustr > $@
|
||||
$(obj)/cpustr.h: $(obj)/mkcpustr FORCE
|
||||
$(call if_changed,cpustr)
|
||||
endif
|
||||
targets += cpustr.h
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
|
@ -14,9 +14,7 @@
|
||||
*/
|
||||
|
||||
#include "boot.h"
|
||||
#ifdef CONFIG_X86_FEATURE_NAMES
|
||||
#include "cpustr.h"
|
||||
#endif
|
||||
|
||||
static char *cpu_name(int level)
|
||||
{
|
||||
@ -35,7 +33,6 @@ static char *cpu_name(int level)
|
||||
static void show_cap_strs(u32 *err_flags)
|
||||
{
|
||||
int i, j;
|
||||
#ifdef CONFIG_X86_FEATURE_NAMES
|
||||
const unsigned char *msg_strs = (const unsigned char *)x86_cap_strs;
|
||||
for (i = 0; i < NCAPINTS; i++) {
|
||||
u32 e = err_flags[i];
|
||||
@ -58,16 +55,6 @@ static void show_cap_strs(u32 *err_flags)
|
||||
e >>= 1;
|
||||
}
|
||||
}
|
||||
#else
|
||||
for (i = 0; i < NCAPINTS; i++) {
|
||||
u32 e = err_flags[i];
|
||||
for (j = 0; j < 32; j++) {
|
||||
if (e & 1)
|
||||
printf("%d:%d ", i, j);
|
||||
e >>= 1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
int validate_cpu(void)
|
||||
|
@ -38,15 +38,10 @@ enum cpuid_leafs
|
||||
#define X86_CAP_FMT_NUM "%d:%d"
|
||||
#define x86_cap_flag_num(flag) ((flag) >> 5), ((flag) & 31)
|
||||
|
||||
#ifdef CONFIG_X86_FEATURE_NAMES
|
||||
extern const char * const x86_cap_flags[NCAPINTS*32];
|
||||
extern const char * const x86_power_flags[32];
|
||||
#define X86_CAP_FMT "%s"
|
||||
#define x86_cap_flag(flag) x86_cap_flags[flag]
|
||||
#else
|
||||
#define X86_CAP_FMT X86_CAP_FMT_NUM
|
||||
#define x86_cap_flag x86_cap_flag_num
|
||||
#endif
|
||||
|
||||
/*
|
||||
* In order to save room, we index into this array by doing
|
||||
|
@ -27,7 +27,7 @@ obj-y += cpuid-deps.o
|
||||
obj-y += umwait.o
|
||||
|
||||
obj-$(CONFIG_PROC_FS) += proc.o
|
||||
obj-$(CONFIG_X86_FEATURE_NAMES) += capflags.o powerflags.o
|
||||
obj-y += capflags.o powerflags.o
|
||||
|
||||
obj-$(CONFIG_IA32_FEAT_CTL) += feat_ctl.o
|
||||
ifdef CONFIG_CPU_SUP_INTEL
|
||||
@ -54,7 +54,6 @@ obj-$(CONFIG_X86_LOCAL_APIC) += perfctr-watchdog.o
|
||||
obj-$(CONFIG_HYPERVISOR_GUEST) += vmware.o hypervisor.o mshyperv.o
|
||||
obj-$(CONFIG_ACRN_GUEST) += acrn.o
|
||||
|
||||
ifdef CONFIG_X86_FEATURE_NAMES
|
||||
quiet_cmd_mkcapflags = MKCAP $@
|
||||
cmd_mkcapflags = $(CONFIG_SHELL) $(srctree)/$(src)/mkcapflags.sh $@ $^
|
||||
|
||||
@ -63,5 +62,4 @@ vmxfeature = $(src)/../../include/asm/vmxfeatures.h
|
||||
|
||||
$(obj)/capflags.c: $(cpufeature) $(vmxfeature) $(src)/mkcapflags.sh FORCE
|
||||
$(call if_changed,mkcapflags)
|
||||
endif
|
||||
targets += capflags.c
|
||||
|
@ -1502,12 +1502,10 @@ static void __init cpu_parse_early_param(void)
|
||||
if (!kstrtouint(opt, 10, &bit)) {
|
||||
if (bit < NCAPINTS * 32) {
|
||||
|
||||
#ifdef CONFIG_X86_FEATURE_NAMES
|
||||
/* empty-string, i.e., ""-defined feature flags */
|
||||
if (!x86_cap_flags[bit])
|
||||
pr_cont(" " X86_CAP_FMT_NUM, x86_cap_flag_num(bit));
|
||||
else
|
||||
#endif
|
||||
pr_cont(" " X86_CAP_FMT, x86_cap_flag(bit));
|
||||
|
||||
setup_clear_cpu_cap(bit);
|
||||
@ -1520,7 +1518,6 @@ static void __init cpu_parse_early_param(void)
|
||||
continue;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_X86_FEATURE_NAMES
|
||||
for (bit = 0; bit < 32 * NCAPINTS; bit++) {
|
||||
if (!x86_cap_flag(bit))
|
||||
continue;
|
||||
@ -1537,7 +1534,6 @@ static void __init cpu_parse_early_param(void)
|
||||
|
||||
if (!found)
|
||||
pr_cont(" (unknown: %s)", opt);
|
||||
#endif
|
||||
}
|
||||
pr_cont("\n");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user