Linux Kernel No Longer Compatible with 486 and 586 Processors Due to Updates
In a significant move towards modernization, the Linux kernel has officially dropped support for Intel 486 and certain early "586" processors starting with version 6.15. This decision, primarily driven by maintenance reasons, marks the end of official Linux support for very old Intel CPUs.
The Intel 486 (80486) and early 586 processors, representing very old hardware architectures, have become essentially obsolete in the current computing landscape. These processors were first disregarded by developers when they dropped support for the 386 architecture back in 2012. Over the years, their continued presence was seen as legacy baggage.
Linus Torvalds, the Linux creator, and other developers had been mulling over the idea of removing 486 support since 2022. The necessary housekeeping and technical changes to make this happen took some time. The decision to drop these ancient architectures was made due to the complex and outdated code that hindered progress and code improvements targeting more modern hardware.
The removal of support allows the Linux kernel to simplify and modernize its codebase, enabling optimizations and features incompatible with these older CPUs. Specifically, the new code and changes introduced in version 6.15 no longer work on these ancient CPUs, making it impractical to maintain backward compatibility.
The patch, submitted by long-time Linux kernel developer Ingo Molnar, removes around 15,000 lines of code, including code to emulate CMPXCHG8B for older processors, various emulated math routines, and configuration code for lower-feature CPUs.
The change requires CPUs to have hardware support for the Time Stamp Counter (RDTSC) and CMPXCHG8B instructions. This means that running Linux kernel 6.15 on a 486 or certain "586" chips will result in the kernel making calls to instructions that the chip has never heard of, causing it to fail.
While there has been no significant outcry from the user base regarding the removal of support for older processors in the Linux kernel, operators of older 486 machines won't miss much by being stuck on earlier revisions of the kernel. Few to no important 486 systems should be connected to the Internet due to their lack of performance and security features.
The change may also affect some later chips like the Cyrix 6×86, given their questionable or non-existent support of the CMPXCHG8B instruction. Intel made its last shipments of i486 chips on September 28, 2007, but these chips were not for mainstream use.
This step towards improving the Linux kernel for the future may not affect many users, but it is a significant move in the evolving hardware and software ecosystem, focusing on more recent generations of processors.
The drop in support for Intel 486 and early 586 processors by the Linux kernel signifies a shift in the operating system's focus towards more modern hardware, as these processors, being part of old hardware architectures, are gradually becoming obsolete in the realm of current technology. In addition, the removal of the outdated code that supports these ancient architectures will facilitate modernization and optimizations, making the Linux kernel more compatible with recent generations of processors.