Linux developers consider discontinuing support for 486 and other CPUs
Ancient processors could soon no longer be supported by the Linux kernel. The goal: less complexity and testing effort.
The first Pentium P5, albeit the 90 MHz version.
(Image: c't)
Because there is a lot of "compatibility glue" in the Linux kernel – is what Ingo Molnar calls it –, the prominent developer now wants to get rid of some of it: Support for x86 processors of the 486 generation and some so-called 586s is to be removed. Specifically, this concerns all CPUs that do not offer a register for a time stamp counter (TSC) and do not support the CMPXCHG8B instruction (CX8 bit in the CPUID).
Both are only the case with the first Pentium (P5) from Intel, which came onto the market in 1993. Even before this, processors with the number "586" appeared from other suppliers, but these had nothing to do architecturally with the Pentium. At that time, Intel abandoned the naming scheme with a three-digit number because it could not be protected as a trademark and opted for the artificial word "Pentium".
As Ingo Molnar writes on the kernel developers' mailing list, the Linux kernel now contains several emulations to get the functions of the current 64-bit processors to run on CPUs that are over 30 years old. Maintaining and testing this is not only a disproportionate effort, but also prone to errors. In his email, he also quotes Linus Torvalds, who recently made similar remarks.
Videos by heise
Over 14,000 deletions possible
According to Molnar, most of the support for the old CPU is in the "math-emu" library. In total, i.e. for all parts of the kernel, 80 files would have to be changed if the 486 support were to be terminated; even without math-emu, there would still be 33 files. All in all, over 14,000 deletions could be made in the Linux kernel.
The conversion work is therefore likely to take a while, if it is actually started. All of this only applies to the current Linux kernel and its further developments; Molnar does not mention older versions in his appeal. Therefore, there should still be enough Linux kernels available for the historical processors. Often, the complete distributions already require a 64-bit processor anyway, which is not the case with either the 486 or the first Pentium.
(nie)