Linux Kernel & OS

Linux x86 32-bit code cleanup follows removal of vintage CPU support

Key Takeaway

New kernel patches remove obsolete 32-bit x86 code and make TSC, CX8, and 64-byte cache lines unconditional requirements following the recent phase-out of i486 and AMD Elan support.

Summary

Linux developer Arnd Bergmann has submitted a patch series that cleans up x86 32-bit kernel code following the recent removal of i486 CPU support and AMD Elan SoC code. The patches eliminate lingering hardware-specific remnants and modernize the 32-bit architecture by aligning it more closely with x86_64 conventions. These changes are possible because the kernel no longer needs to accommodate the oldest 32-bit processors that lacked features now taken for granted on newer hardware.

The cleanup makes several capabilities unconditional requirements for 32-bit x86 kernels: Time Stamp Counter (TSC) support, Compare and Exchange 8 Bytes (CX8), and a minimum 64-byte cache line size. The patches also simplify 32-bit instruction set selection and remove unneeded dependencies that existed solely to support the now-removed vintage CPUs.

What changes in the x86 32-bit cleanup

  • TSC unconditional: Time Stamp Counter support is now required for all x86 32-bit kernels, eliminating fallback code for CPUs without this feature.
  • CX8 mandatory: Compare and Exchange 8 Bytes is made unconditional, removing conditional compilation paths for pre-CX8 processors.
  • Cache line minimum: The x86 kernel now requires a minimum of 64 byte cache lines, dropping support for processors with smaller cache lines.
  • AMD Elan removal: Lingering remnants of AMD Elan SoC-specific code are excised following the earlier removal of full Elan support.
  • Instruction set simplification: 32-bit instruction set selection is streamlined, reducing divergence between 32-bit and 64-bit x86 code paths.

Why it matters

These cleanups reduce maintenance burden for one of the kernel's oldest architectures and shrink the attack surface by removing rarely-tested legacy code paths. For distribution maintainers and embedded developers still shipping 32-bit x86 systems, the changes clarify hardware requirements and simplify testing matrices, though they formally exclude the very oldest 32-bit hardware from future kernel support.

Original reference: www.phoronix.com →