Linux x86 32-bit code cleanup follows removal of vintage CPU support
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 →