The upcoming Linux kernel 6.15 is making significant strides towards its release, expected around late May or early June 2023. One of the most notable changes in this version is the planned removal of support for Intel's 486 chip and its contemporaries, marking a pivotal moment in the evolution of the Linux operating system.
Over the weekend, the Linux community saw the launch of Release Candidate 5 for kernel 6.15. This version is being shaped by various updates and patches, including a crucial one from kernel veteran Ingo Molnar. His changes are significant, removing nearly 15,000 lines of code related to older 32-bit architecture, particularly from the 80486 era.
With this update, the requirements for an x86-32 CPU to run kernel 6.15 and future releases will now include support for the Timer Stamp Counter (TSC) and the CMPXCHG8B software instruction. The CMPXCHG8B instruction has gained notoriety due to a specific Intel erratum that can cause complete processor lockup under certain conditions, leading to a denial of service. This bug, known as the F00F bug, primarily affected the original Intel Pentium processors, showcasing the complexities and challenges of legacy hardware compatibility.
The removal of support for CMPXCHG8B effectively means that the kernel will no longer support processors older than the original Intel Pentium. This change affects the entire Intel i486 family as well as early 586 processors, including the IDT WinChip and AMD Elan families. Notably, this decision also impacts chips marketed as 485slc processors, which were essentially 386SX models with additional 80486 instructions.
Furthermore, this update signifies the end of support for the last x86 chips lacking onboard hardware floating-point units. As a result, the kernel can now eliminate the need for software emulation of an Intel-world floating-point unit (FPU). The majority of the lines of code removed pertained to this emulation, although more than 1,000 lines of code still remain in the kernel.
Interestingly, this development comes shortly after Mikhail Zakharov introduced x86-flavored FPU emulation into the NetBSD 10 codebase, as he shared on his blog. It has been quite some time since the Linux kernel dropped support for an entire CPU family; the last instance occurred in 2012 when support for the 386 architecture was removed.
Linus Torvalds, the creator of Linux, has expressed sentiments that the 80486 architecture belongs in a museum rather than in the current Linux kernel. This perspective aligns with the ongoing trend of modernizing the Linux kernel to better accommodate contemporary hardware capabilities and performance needs.
As we approach the official launch of Linux kernel 6.15, the community watches closely as these changes unfold, reflecting a future that prioritizes advancements in technology while gradually phasing out support for older, less capable architectures.