]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
x86/cpu: Remove X86_FEATURE_NAMES
authorLukas Bulwahn <lukas.bulwahn@gmail.com>
Wed, 10 May 2023 06:57:13 +0000 (08:57 +0200)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 15 May 2023 18:03:08 +0000 (20:03 +0200)
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
arch/x86/Kconfig
arch/x86/Kconfig.cpu
arch/x86/boot/Makefile
arch/x86/boot/cpu.c
arch/x86/include/asm/cpufeature.h
arch/x86/kernel/cpu/Makefile
arch/x86/kernel/cpu/common.c

index a7db116e429afd31c3e0d4b4affc1f34344295e1..f6aa7e0ca47de7486e8aee59b2f7e6a7d11370ac 100644 (file)
@@ -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)
index 542377cd419d788e470e2a90d306ee3212cf9024..00468adf180f1d9192eec9924d6108159bd209d8 100644 (file)
@@ -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
index 9e38ffaadb5d972e640520e4985718b23b0a76ba..f33e45ed143765f99c80c55b18f0c500d08208d4 100644 (file)
@@ -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
 
 # ---------------------------------------------------------------------------
index 0bbf4f3707d221360b7f0398ac2e427e52d7677e..feb6dbd7ca86004db8837a236f2b069f18345495 100644 (file)
@@ -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)
index ce0c8f7d32186f32893bfdf4555246c856febc61..a26bebbdff87ed20c45bdb98dcc4a8873f5c30f5 100644 (file)
@@ -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
index d7e3ceaf75c16637cf10db37afcae0b28ecf49b3..4350f6bfc0641ea7a6877cd9a224055a456753bd 100644 (file)
@@ -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
index 80710a68ef7daedcc565faead87445a0554f1839..849ed7e2a726fe30109ecfc04a7bdf09275bbc5c 100644 (file)
@@ -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");