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

Arnd Bergmann arnd at kernel.org
Thu Nov 5 08:34:31 PST 2026


From: Arnd Bergmann <arnd at arndb.de>

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@kernel.org/

 - 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 at nod.at>
Cc: Anton Ivanov <anton.ivanov at cambridgegreys.com>
Cc: Johannes Berg <johannes at sipsolutions.net>
Cc: Thomas Gleixner <tglx at kernel.org>
Cc: Ingo Molnar <mingo at redhat.com>
Cc: Borislav Petkov <bp at alien8.de>
Cc: Dave Hansen <dave.hansen at linux.intel.com>
Cc: "H. Peter Anvin" <hpa at zytor.com>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Will Deacon <will at kernel.org>
Cc: Boqun Feng <boqun at kernel.org>
Cc: Gary Guo <gary at garyguo.net>
Cc: Yury Norov <yury.norov at gmail.com>
Cc: Rasmus Villemoes <linux at rasmusvillemoes.dk>
Cc: Boris Ostrovsky <boris.ostrovsky at oracle.com>
Cc: Alexander Usyskin <alexander.usyskin at intel.com>
Cc: Tony Nguyen <anthony.l.nguyen at intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel at intel.com>
Cc: x86 at kernel.org
Cc: linux-kernel at vger.kernel.org
Cc: linux-um at lists.infradead.org



More information about the linux-um mailing list