]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/cpufeatures: Free up unused feature bits
authorSohil Mehta <sohil.mehta@intel.com>
Thu, 7 Nov 2024 23:30:00 +0000 (23:30 +0000)
committerIngo Molnar <mingo@kernel.org>
Fri, 6 Dec 2024 09:57:44 +0000 (10:57 +0100)
Linux defined feature bits X86_FEATURE_P3 and X86_FEATURE_P4 are not
used anywhere. Commit f31d731e4467 ("x86: use X86_FEATURE_NOPL in
alternatives") got rid of the last usage in 2008. Remove the related
mappings and code.

Just like all X86_FEATURE bits, the raw bit numbers can be exposed to
userspace via MODULE_DEVICE_TABLE(). There is a very small theoretical
chance of userspace getting confused if these bits got reassigned and
changed logical meaning.  But these bits were never used for a device
table, so it's highly unlikely this will ever happen in practice.

[ dhansen: clarify userspace visibility of these bits ]

Signed-off-by: Sohil Mehta <sohil.mehta@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/all/20241107233000.2742619-1-sohil.mehta%40intel.com
arch/x86/include/asm/cpufeatures.h
arch/x86/kernel/cpu/intel.c

index 17b6590748c00cc11f4a527255679d3eb2475a31..f725ccc77b0191371ca435570ba8ca24507d8983 100644 (file)
@@ -83,8 +83,8 @@
 #define X86_FEATURE_CENTAUR_MCR                ( 3*32+ 3) /* "centaur_mcr" Centaur MCRs (= MTRRs) */
 #define X86_FEATURE_K8                 ( 3*32+ 4) /* Opteron, Athlon64 */
 #define X86_FEATURE_ZEN5               ( 3*32+ 5) /* CPU based on Zen5 microarchitecture */
-#define X86_FEATURE_P3                 ( 3*32+ 6) /* P3 */
-#define X86_FEATURE_P4                 ( 3*32+ 7) /* P4 */
+/* Free                                 ( 3*32+ 6) */
+/* Free                                 ( 3*32+ 7) */
 #define X86_FEATURE_CONSTANT_TSC       ( 3*32+ 8) /* "constant_tsc" TSC ticks at a constant rate */
 #define X86_FEATURE_UP                 ( 3*32+ 9) /* "up" SMP kernel running on UP */
 #define X86_FEATURE_ART                        ( 3*32+10) /* "art" Always running timer (ART) */
index d1de300af17374315a5771b64407b744bd963fe7..5a9fbe962135f37a898dcf90f2c7025688b269d2 100644 (file)
@@ -597,11 +597,6 @@ static void init_intel(struct cpuinfo_x86 *c)
                if (p)
                        strcpy(c->x86_model_id, p);
        }
-
-       if (c->x86 == 15)
-               set_cpu_cap(c, X86_FEATURE_P4);
-       if (c->x86 == 6)
-               set_cpu_cap(c, X86_FEATURE_P3);
 #endif
 
        /* Work around errata */