lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMzpN2icJAGELPOv1-d_aomdtyB9+YPB7LDBY334wD+aiV7yMA@mail.gmail.com>
Date: Sun, 14 Dec 2025 21:39:04 -0500
From: Brian Gerst <brgerst@...il.com>
To: Ingo Molnar <mingo@...nel.org>
Cc: linux-kernel@...r.kernel.org, "Ahmed S . Darwish" <darwi@...utronix.de>, 
	Andrew Cooper <andrew.cooper3@...rix.com>, Ard Biesheuvel <ardb@...nel.org>, 
	Arnd Bergmann <arnd@...nel.org>, Borislav Petkov <bp@...en8.de>, 
	Dave Hansen <dave.hansen@...ux.intel.com>, "H . Peter Anvin" <hpa@...or.com>, 
	John Ogness <john.ogness@...utronix.de>, Linus Torvalds <torvalds@...ux-foundation.org>, 
	Peter Zijlstra <peterz@...radead.org>, Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH -v3 0/15] x86: Remove support for TSC-less and CX8-less CPUs

On Sun, Dec 14, 2025 at 3:47 AM Ingo Molnar <mingo@...nel.org> wrote:
>
> Changes in -v3:
>
>  - Port to v6.19-rc1
>
> Changes in -v2:
>
>  - Rebase to v6.15-rc6 + the relevant x86 tree branch
>
>  - Use proper asm() constraints in the simplified CX8 methods (Uros Bizjak)
>
>  - Remove stray family-4 default (suggested by Arnd Bergmann)
>
>  - Simplify CX8 test (suggested by Uros Bizjak)
>
>  - Add review tags
>
> The latest version of this series can be found at:
>
>    git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git WIP.x86/cpu
>
> Thanks,
>
>         Ingo
>
> =============>
>
> Original -v1 announcement:
>
> In the x86 architecture we have various complicated hardware emulation
> facilities on x86-32 to support ancient 32-bit CPUs that very very few
> people are using with modern kernels. This compatibility glue is sometimes
> even causing problems that people spend time to resolve, which time could
> be spent on other things.
>
> As Linus recently remarked:
>
>  > I really get the feeling that it's time to leave i486 support behind.
>  > There's zero real reason for anybody to waste one second of
>  > development effort on this kind of issue.
>
> This series increases minimum kernel support features to include TSC and
> CX8 (CMPXCHG8B) hardware support, which removes 486 (and derivatives) support
> and early-586 (and derivatives) support.
>
> Doing this allows the removal of a fair amount of code:
>
>  80 files changed, 38 insertions(+), 14104 deletions(-)
>
> Much of which is the math-emu/ library - but even without math-emu,
> the simplification is substantial:
>
>  33 files changed, 38 insertions(+), 1081 deletions(-)
>
> This series has 5 main parts:
>
> 1) Removal of the main CPU options and their dependencies in the Kconfig space:
>
>      x86/cpu: Remove M486/M486SX/ELAN support
>      x86/cpu: Remove CONFIG_MWINCHIP3D/MWINCHIPC6
>      x86/cpu: Remove CPU_SUP_UMC_32 support
>      x86/cpu: Remove TSC-less CONFIG_M586 support
>
> 2) Remove platform support for chips that weren't carried forward
>    after these CPUs:
>
>      x86/cpu, x86/platform, watchdog: Remove CONFIG_X86_RDC321X support
>      x86/cpu: Remove the CONFIG_X86_INVD_BUG quirk
>      x86/cpu, cpufreq: Remove AMD ELAN support
>
> 3) Remove math-emu/ support:
>
>      x86/fpu: Remove MATH_EMULATION and related glue code
>      x86/fpu: Remove the 'no387' boot option
>      x86/fpu: Remove the math-emu/ FPU emulation library
>
> 4) Make CONFIG_X86_TSC unconditional and simplify the build-time TSC variances:
>
>      x86/cpu: Make CONFIG_X86_TSC unconditional
>      x86: Remove !CONFIG_X86_TSC code
>
>    Note that runtime TSC disabling is still kept in its various forms.
>
>    Also note that I kept CONFIG_X86_TSC itself, which is a proxy for
>    a few drivers for 'sane x86', and which might be used in changes
>    still in-flight. There's very little cost to keep this Kconfig option
>    going forward, even though it's always-enabled.
>
> 5) Make CONFIG_X86_CX8 unconditional and remove build-time complications:
>
>      x86/cpu: Make CONFIG_X86_CX8 unconditional
>      x86/percpu: Remove !CONFIG_X86_CX8 methods
>      x86/atomics: Remove !CONFIG_X86_CX8 methods
>
>    Note that CONFIG_X86_CX8 is still kept, but not used by anything
>    anymore. We can probably remove it entirely and there's no expectation
>    of pending/outside code having dependency on this.
>
> Note that there's still some stray references to removed platforms in
> the main x86 Kconfig and Kconfig.x86, and the entire vector of CPU
> options is probably overly complicated and should probably be replaced
> with a single option - I'll clean that all up once there's rough
> agreement about the scope of this RFC series.
>
> The tree can also be found in my tree:
>
>    git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git WIP.x86/cpu
>
> Lightly tested.
>
> Thanks,
>
>     Ingo
>
> ================>
>

Does this also eliminate all processors that do not support CPUID?


Brian Gerst

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ