[PATCH v2 0/7] x86-32 CPU configuration cleanups

From: Arnd Bergmann

Date: Thu Nov 05 2026 - 11:58:28 EST


From: Arnd Bergmann <arnd@xxxxxxxx>

Hi Ingo,

Here are some follow-ups to your x86-32 CPU level changes based on
patches I did last year but rebased onto current mainline.

The first three just drop code that is no longer relevant now that Élan
is gone and all CPUs support both TSC and CX8.

The other four patches change the CPU configuration to be more like
x86-64 and other architectures where all kernels are expected to be
generic by default. I did keep the distinction between i586 and i686
class, but everything else is now just an optimization, building e.g. for
CONFIG_MATOM will still run on all other i686 class CPUs, and picking
any i586-class option will work on everything.

Changes since v1:
https://lore.kernel.org/all/20260522141959.1071595-1-arnd@xxxxxxxxxx/

- rebase to 7.4-rc1
- drop ts5500 removal patch that was merged [Sean Young]
- reorder patches for cache line size [Juergen Gross]

Arnd

Arnd Bergmann (7):
x86: remove AMD Élan remnants
x86: make TSC usage unconditional
x86: make CX8 usage unconditional
x86: require minimum 64 byte cache lines
x86: remove dependencies on CONFIG_M... CPU options
x86: remove dependencies on per-CPU options
x86: simplify 32-bit instruction set selection

Documentation/virt/kvm/x86/timekeeping.rst | 1 -
arch/um/include/asm/asm-prototypes.h | 4 -
arch/x86/Kconfig.cpu | 42 ++---
arch/x86/Kconfig.cpufeatures | 14 +-
arch/x86/Makefile_32.cpu | 16 +-
arch/x86/events/msr.c | 5 -
arch/x86/include/asm/asm-prototypes.h | 4 -
arch/x86/include/asm/atomic64_32.h | 15 --
arch/x86/include/asm/bitops.h | 4 +-
arch/x86/include/asm/cmpxchg_32.h | 76 +-------
arch/x86/include/asm/debugreg.h | 10 +-
arch/x86/include/asm/percpu.h | 14 +-
arch/x86/include/asm/ptrace.h | 6 +-
arch/x86/include/asm/timex.h | 2 -
arch/x86/include/asm/tsc.h | 2 -
arch/x86/include/asm/vermagic.h | 36 +---
arch/x86/kernel/apic/apic.c | 23 +--
arch/x86/kernel/apic/io_apic.c | 22 +--
arch/x86/kernel/cpu/amd.c | 20 ---
arch/x86/kernel/cpu/centaur.c | 2 -
arch/x86/kernel/cpu/common.c | 4 +-
arch/x86/kernel/cpu/proc.c | 15 +-
arch/x86/kernel/i8253.c | 3 -
arch/x86/kernel/tsc.c | 18 +-
arch/x86/lib/Makefile | 4 -
arch/x86/lib/atomic64_386_32.S | 195 ---------------------
arch/x86/lib/cmpxchg8b_emu.S | 97 ----------
arch/x86/lib/kaslr.c | 20 +--
arch/x86/um/Kconfig | 2 +-
arch/x86/um/Makefile | 3 +-
arch/x86/xen/Kconfig | 1 -
arch/x86/xen/time.c | 2 -
drivers/misc/mei/Kconfig | 2 +-
drivers/net/ethernet/intel/igc/igc_ptp.c | 4 +-
drivers/ptp/Kconfig | 2 +-
lib/atomic64_test.c | 7 +-
tools/power/cpupower/debug/kernel/Makefile | 5 +-
37 files changed, 72 insertions(+), 630 deletions(-)
delete mode 100644 arch/x86/lib/atomic64_386_32.S
delete mode 100644 arch/x86/lib/cmpxchg8b_emu.S

--
2.53.0

Cc: Richard Weinberger <richard@xxxxxx>
Cc: Anton Ivanov <anton.ivanov@xxxxxxxxxxxxxxxxxx>
Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Will Deacon <will@xxxxxxxxxx>
Cc: Boqun Feng <boqun@xxxxxxxxxx>
Cc: Gary Guo <gary@xxxxxxxxxxx>
Cc: Yury Norov <yury.norov@xxxxxxxxx>
Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Cc: Alexander Usyskin <alexander.usyskin@xxxxxxxxx>
Cc: Tony Nguyen <anthony.l.nguyen@xxxxxxxxx>
Cc: Przemek Kitszel <przemyslaw.kitszel@xxxxxxxxx>
Cc: x86@xxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-um@xxxxxxxxxxxxxxxxxxx