]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/cpu: Remove CONFIG_MWINCHIP3D/MWINCHIPC6
authorIngo Molnar <mingo@kernel.org>
Fri, 25 Apr 2025 08:41:59 +0000 (10:41 +0200)
committerIngo Molnar <mingo@kernel.org>
Wed, 6 May 2026 05:59:54 +0000 (07:59 +0200)
These CPUs lack CMPXCHG8B support, according to Arnd Bergmann:

  | "Winchip6 (486-class, no tsc, no cx8) and Winchip3D
  | (486-class, with tsc but no cx8)"

Any still available derivatives, if they have TSC and CX8 support,
would work with regular Pentium builds, there's no need to have
a separate build option for them.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250425084216.3913608-3-mingo@kernel.org
arch/x86/Kconfig.cpu
arch/x86/Makefile_32.cpu
arch/x86/include/asm/vermagic.h

index d7ba9219cb47dceba8fa46f34e176805c46d2cf3..8868aa19d88aafff6febf0247e467bbfdff766e5 100644 (file)
@@ -32,8 +32,6 @@ choice
          - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird).
          - "Crusoe" for the Transmeta Crusoe series.
          - "Efficeon" for the Transmeta Efficeon series.
-         - "Winchip-C6" for original IDT Winchip.
-         - "Winchip-2" for IDT Winchips with 3dNow! capabilities.
          - "AMD Elan" for the 32-bit AMD Elan embedded CPU.
          - "GeodeGX1" for Geode GX1 (Cyrix MediaGX).
          - "Geode GX/LX" For AMD Geode GX and LX processors.
@@ -155,24 +153,6 @@ config MEFFICEON
        help
          Select this for a Transmeta Efficeon processor.
 
-config MWINCHIPC6
-       bool "Winchip-C6"
-       depends on X86_32
-       help
-         Select this for an IDT Winchip C6 chip.  Linux and GCC
-         treat this chip as a 586TSC with some extended instructions
-         and alignment requirements.
-
-config MWINCHIP3D
-       bool "Winchip-2/Winchip-2A/Winchip-3"
-       depends on X86_32
-       help
-         Select this for an IDT Winchip-2, 2A or 3.  Linux and GCC
-         treat this chip as a 586TSC with some extended instructions
-         and alignment requirements.  Also enable out of order memory
-         stores for this CPU, which can increase performance of some
-         operations.
-
 config MGEODEGX1
        bool "GeodeGX1"
        depends on X86_32
@@ -270,7 +250,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 MWINCHIP3D || MWINCHIPC6 || 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 || M586 || MVIAC3_2 || MGEODE_LX
 
 config X86_F00F_BUG
        def_bool y
@@ -282,7 +262,7 @@ config X86_INVD_BUG
 
 config X86_ALIGNMENT_16
        def_bool y
-       depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MK6 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODEGX1
+       depends on MCYRIXIII || MK6 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODEGX1
 
 config X86_INTEL_USERCOPY
        def_bool y
@@ -290,7 +270,7 @@ config X86_INTEL_USERCOPY
 
 config X86_USE_PPRO_CHECKSUM
        def_bool y
-       depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MEFFICEON || MGEODE_LX || MATOM
+       depends on MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MEFFICEON || MGEODE_LX || MATOM
 
 config X86_TSC
        def_bool y
@@ -318,7 +298,7 @@ config X86_MINIMUM_CPU_FAMILY
 
 config X86_DEBUGCTLMSR
        def_bool y
-       depends on !(MK6 || MWINCHIPC6 || MWINCHIP3D || MCYRIXIII || M586MMX || M586TSC || M586) && !UML
+       depends on !(MK6 || MCYRIXIII || M586MMX || M586TSC || M586) && !UML
 
 config IA32_FEAT_CTL
        def_bool y
index 7c9898c1537613f8e98de31df90bcad359dde5d7..707827f555d1a21268762434c58e9c7c3fb26540 100644 (file)
@@ -24,8 +24,6 @@ cflags-$(CONFIG_MK6)          += -march=k6
 cflags-$(CONFIG_MK7)           += -march=athlon
 cflags-$(CONFIG_MCRUSOE)       += -march=i686 $(align)
 cflags-$(CONFIG_MEFFICEON)     += -march=i686 $(call tune,pentium3) $(align)
-cflags-$(CONFIG_MWINCHIPC6)    += $(call cc-option,-march=winchip-c6,-march=i586)
-cflags-$(CONFIG_MWINCHIP3D)    += $(call cc-option,-march=winchip2,-march=i586)
 cflags-$(CONFIG_MCYRIXIII)     += $(call cc-option,-march=c3,-march=i486) $(align)
 cflags-$(CONFIG_MVIAC3_2)      += $(call cc-option,-march=c3-2,-march=i686)
 cflags-$(CONFIG_MVIAC7)                += -march=i686
index eda233a90ea86a7333d0e40568fd4458dd9f9565..b3a8beb32dfda1b7cf46f5da9fe69f3955f17bdf 100644 (file)
 #define MODULE_PROC_FAMILY "CRUSOE "
 #elif defined CONFIG_MEFFICEON
 #define MODULE_PROC_FAMILY "EFFICEON "
-#elif defined CONFIG_MWINCHIPC6
-#define MODULE_PROC_FAMILY "WINCHIPC6 "
-#elif defined CONFIG_MWINCHIP3D
-#define MODULE_PROC_FAMILY "WINCHIP3D "
 #elif defined CONFIG_MCYRIXIII
 #define MODULE_PROC_FAMILY "CYRIXIII "
 #elif defined CONFIG_MVIAC3_2