[PATCH 04/15] x86/cpu: Remove TSC-less CONFIG_M586 support

Ingo Molnar posted 15 patches 9 months, 2 weeks ago
There is a newer version of this series
[PATCH 04/15] x86/cpu: Remove TSC-less CONFIG_M586 support
Posted by Ingo Molnar 9 months, 2 weeks ago
Remove support for TSC-less Pentium variants.

All TSC-capable Pentium variants, derivatives and
clones should still work under the M586TSC or M586MMX
options.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/Kconfig.cpu            | 10 +---------
 arch/x86/Makefile_32.cpu        |  1 -
 arch/x86/include/asm/vermagic.h |  2 --
 3 files changed, 1 insertion(+), 12 deletions(-)

diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
index df586ff2178f..e9499e58776c 100644
--- a/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu
@@ -43,14 +43,6 @@ choice
 	  See each option's help text for additional details. If you don't know
 	  what to do, choose "Pentium-Pro".
 
-config M586
-	bool "586/K5/5x86/6x86/6x86MX"
-	depends on X86_32
-	help
-	  Select this for an 586 or 686 series processor such as the AMD K5,
-	  the Cyrix 5x86, 6x86 and 6x86MX.  This choice does not
-	  assume the RDTSC (Read Time Stamp Counter) instruction.
-
 config M586TSC
 	bool "Pentium-Classic"
 	depends on X86_32
@@ -226,7 +218,7 @@ config X86_L1_CACHE_SHIFT
 	default "7" if MPENTIUM4
 	default "6" if MK7 || MPENTIUMM || MATOM || MVIAC7 || X86_GENERIC || X86_64
 	default "4" if MGEODEGX1
-	default "5" if MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX
+	default "5" if MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MVIAC3_2 || MGEODE_LX
 
 config X86_F00F_BUG
 	def_bool y
diff --git a/arch/x86/Makefile_32.cpu b/arch/x86/Makefile_32.cpu
index 2dda0a19b06a..43226c9fe795 100644
--- a/arch/x86/Makefile_32.cpu
+++ b/arch/x86/Makefile_32.cpu
@@ -10,7 +10,6 @@ else
 align		:= -falign-functions=0 -falign-jumps=0 -falign-loops=0
 endif
 
-cflags-$(CONFIG_M586)		+= -march=i586
 cflags-$(CONFIG_M586TSC)	+= -march=i586
 cflags-$(CONFIG_M586MMX)	+= -march=pentium-mmx
 cflags-$(CONFIG_M686)		+= -march=i686
diff --git a/arch/x86/include/asm/vermagic.h b/arch/x86/include/asm/vermagic.h
index b3a8beb32dfd..e26061df0c9b 100644
--- a/arch/x86/include/asm/vermagic.h
+++ b/arch/x86/include/asm/vermagic.h
@@ -5,8 +5,6 @@
 
 #ifdef CONFIG_X86_64
 /* X86_64 does not define MODULE_PROC_FAMILY */
-#elif defined CONFIG_M586
-#define MODULE_PROC_FAMILY "586 "
 #elif defined CONFIG_M586TSC
 #define MODULE_PROC_FAMILY "586TSC "
 #elif defined CONFIG_M586MMX
-- 
2.45.2
Re: [PATCH 04/15] x86/cpu: Remove TSC-less CONFIG_M586 support
Posted by H. Peter Anvin 9 months, 2 weeks ago
On April 25, 2025 1:42:01 AM PDT, Ingo Molnar <mingo@kernel.org> wrote:
>Remove support for TSC-less Pentium variants.
>
>All TSC-capable Pentium variants, derivatives and
>clones should still work under the M586TSC or M586MMX
>options.
>
>Signed-off-by: Ingo Molnar <mingo@kernel.org>
>---
> arch/x86/Kconfig.cpu            | 10 +---------
> arch/x86/Makefile_32.cpu        |  1 -
> arch/x86/include/asm/vermagic.h |  2 --
> 3 files changed, 1 insertion(+), 12 deletions(-)
>
>diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
>index df586ff2178f..e9499e58776c 100644
>--- a/arch/x86/Kconfig.cpu
>+++ b/arch/x86/Kconfig.cpu
>@@ -43,14 +43,6 @@ choice
> 	  See each option's help text for additional details. If you don't know
> 	  what to do, choose "Pentium-Pro".
> 
>-config M586
>-	bool "586/K5/5x86/6x86/6x86MX"
>-	depends on X86_32
>-	help
>-	  Select this for an 586 or 686 series processor such as the AMD K5,
>-	  the Cyrix 5x86, 6x86 and 6x86MX.  This choice does not
>-	  assume the RDTSC (Read Time Stamp Counter) instruction.
>-
> config M586TSC
> 	bool "Pentium-Classic"
> 	depends on X86_32
>@@ -226,7 +218,7 @@ config X86_L1_CACHE_SHIFT
> 	default "7" if MPENTIUM4
> 	default "6" if MK7 || MPENTIUMM || MATOM || MVIAC7 || X86_GENERIC || X86_64
> 	default "4" if MGEODEGX1
>-	default "5" if MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX
>+	default "5" if MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MVIAC3_2 || MGEODE_LX
> 
> config X86_F00F_BUG
> 	def_bool y
>diff --git a/arch/x86/Makefile_32.cpu b/arch/x86/Makefile_32.cpu
>index 2dda0a19b06a..43226c9fe795 100644
>--- a/arch/x86/Makefile_32.cpu
>+++ b/arch/x86/Makefile_32.cpu
>@@ -10,7 +10,6 @@ else
> align		:= -falign-functions=0 -falign-jumps=0 -falign-loops=0
> endif
> 
>-cflags-$(CONFIG_M586)		+= -march=i586
> cflags-$(CONFIG_M586TSC)	+= -march=i586
> cflags-$(CONFIG_M586MMX)	+= -march=pentium-mmx
> cflags-$(CONFIG_M686)		+= -march=i686
>diff --git a/arch/x86/include/asm/vermagic.h b/arch/x86/include/asm/vermagic.h
>index b3a8beb32dfd..e26061df0c9b 100644
>--- a/arch/x86/include/asm/vermagic.h
>+++ b/arch/x86/include/asm/vermagic.h
>@@ -5,8 +5,6 @@
> 
> #ifdef CONFIG_X86_64
> /* X86_64 does not define MODULE_PROC_FAMILY */
>-#elif defined CONFIG_M586
>-#define MODULE_PROC_FAMILY "586 "
> #elif defined CONFIG_M586TSC
> #define MODULE_PROC_FAMILY "586TSC "
> #elif defined CONFIG_M586MMX

For the record, all "real" Pentium chips had CX8 and TSC.