[PATCH v2] x86/cpu: drop unused Kconfig symbol X86_P6_NOP

Randy Dunlap posted 1 patch 1 month ago
arch/x86/Kconfig.cpufeatures |    2 +-
arch/x86/Makefile_32.cpu     |    6 ------
2 files changed, 1 insertion(+), 7 deletions(-)
[PATCH v2] x86/cpu: drop unused Kconfig symbol X86_P6_NOP
Posted by Randy Dunlap 1 month ago
This symbol was removed in early 2025 but 2 dangling references to it
were missed. Delete them now.

It's safe to drop the -mtune=generic32 option since gcc 4.3 doesn't
cause the problem (see 28f7e66fc1da ("x86: prevent binutils from being
"smart" and generating NOPLs for us")). Also, Arnd confirmed this with
gcc-8 and gcc-15.

Fixes: f388f60ca904 ("x86/cpu: Drop configuration options for early 64-bit CPUs")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reviewed-by: Nikolay Borisov <nik.borisov@suse.com>
---
v2: add Reviewed-by Nikolay; add -mtune explanation (Dave, Arnd: thanks);
    add Cc to HPA;

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org

 arch/x86/Kconfig.cpufeatures |    2 +-
 arch/x86/Makefile_32.cpu     |    6 ------
 2 files changed, 1 insertion(+), 7 deletions(-)

--- linux-next-20251219.orig/arch/x86/Kconfig.cpufeatures
+++ linux-next-20251219/arch/x86/Kconfig.cpufeatures
@@ -38,7 +38,7 @@ config X86_REQUIRED_FEATURE_ALWAYS
 
 config X86_REQUIRED_FEATURE_NOPL
 	def_bool y
-	depends on X86_64 || X86_P6_NOP
+	depends on X86_64
 
 config X86_REQUIRED_FEATURE_CX8
 	def_bool y
--- linux-next-20251219.orig/arch/x86/Makefile_32.cpu
+++ linux-next-20251219/arch/x86/Makefile_32.cpu
@@ -42,9 +42,3 @@ cflags-$(CONFIG_MGEODE_LX)	+= $(call cc-
 # add at the end to overwrite eventual tuning options from earlier
 # cpu entries
 cflags-$(CONFIG_X86_GENERIC) 	+= $(call tune,generic,$(call tune,i686))
-
-# Bug fix for binutils: this option is required in order to keep
-# binutils from generating NOPL instructions against our will.
-ifneq ($(CONFIG_X86_P6_NOP),y)
-cflags-y			+= $(call cc-option,-Wa$(comma)-mtune=generic32,)
-endif
Re: [PATCH v2] x86/cpu: drop unused Kconfig symbol X86_P6_NOP
Posted by H. Peter Anvin 1 month ago
On 2026-01-05 17:47, Randy Dunlap wrote:
> This symbol was removed in early 2025 but 2 dangling references to it
> were missed. Delete them now.
> 
> It's safe to drop the -mtune=generic32 option since gcc 4.3 doesn't
> cause the problem (see 28f7e66fc1da ("x86: prevent binutils from being
> "smart" and generating NOPLs for us")). Also, Arnd confirmed this with
> gcc-8 and gcc-15.
> 
> Fixes: f388f60ca904 ("x86/cpu: Drop configuration options for early 64-bit CPUs")
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Reviewed-by: Nikolay Borisov <nik.borisov@suse.com>
> ---
> v2: add Reviewed-by Nikolay; add -mtune explanation (Dave, Arnd: thanks);
>     add Cc to HPA;
> 
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> Cc: x86@kernel.org
>

Acked-by: H. Peter Anvin (Intel) <hpa@zytor.com>

	-hpa
[tip: x86/cpu] x86/cpu: Drop unused Kconfig symbol X86_P6_NOP
Posted by tip-bot2 for Randy Dunlap 1 month ago
The following commit has been merged into the x86/cpu branch of tip:

Commit-ID:     18fe1f58623f8c1fddd21a3d044d668ba9d8b0a9
Gitweb:        https://git.kernel.org/tip/18fe1f58623f8c1fddd21a3d044d668ba9d8b0a9
Author:        Randy Dunlap <rdunlap@infradead.org>
AuthorDate:    Mon, 05 Jan 2026 17:47:08 -08:00
Committer:     Dave Hansen <dave.hansen@linux.intel.com>
CommitterDate: Tue, 06 Jan 2026 08:57:23 -08:00

x86/cpu: Drop unused Kconfig symbol X86_P6_NOP

This symbol was removed in early 2025 but 2 dangling references to it
were missed. Delete them now.

It should be safe to drop the -mtune=generic32 option since gcc 4.3
and later do not cause the problem (see 28f7e66fc1da ("x86: prevent
binutils from being "smart" and generating NOPLs for us")). Also, Arnd
confirmed this with gcc-8 and gcc-15 (see Link:).

Fixes: f388f60ca904 ("x86/cpu: Drop configuration options for early 64-bit CPUs")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Nikolay Borisov <nik.borisov@suse.com>
Link: https://patch.msgid.link/20260106014708.991447-1-rdunlap@infradead.org
Link: https://lore.kernel.org/all/c0f0814a-8333-49e1-8e50-740e4c88d94b@app.fastmail.com/
---
 arch/x86/Kconfig.cpufeatures | 2 +-
 arch/x86/Makefile_32.cpu     | 6 ------
 2 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/arch/x86/Kconfig.cpufeatures b/arch/x86/Kconfig.cpufeatures
index 733d5af..b435952 100644
--- a/arch/x86/Kconfig.cpufeatures
+++ b/arch/x86/Kconfig.cpufeatures
@@ -38,7 +38,7 @@ config X86_REQUIRED_FEATURE_ALWAYS
 
 config X86_REQUIRED_FEATURE_NOPL
 	def_bool y
-	depends on X86_64 || X86_P6_NOP
+	depends on X86_64
 
 config X86_REQUIRED_FEATURE_CX8
 	def_bool y
diff --git a/arch/x86/Makefile_32.cpu b/arch/x86/Makefile_32.cpu
index af7de9a..a3dda95 100644
--- a/arch/x86/Makefile_32.cpu
+++ b/arch/x86/Makefile_32.cpu
@@ -42,9 +42,3 @@ cflags-$(CONFIG_MGEODE_LX)	+= $(call cc-option,-march=geode,-march=pentium-mmx)
 # add at the end to overwrite eventual tuning options from earlier
 # cpu entries
 cflags-$(CONFIG_X86_GENERIC) 	+= $(call tune,generic,$(call tune,i686))
-
-# Bug fix for binutils: this option is required in order to keep
-# binutils from generating NOPL instructions against our will.
-ifneq ($(CONFIG_X86_P6_NOP),y)
-cflags-y			+= $(call cc-option,-Wa$(comma)-mtune=generic32,)
-endif