Linux-Kernel soll keine Rücksicht mehr auf 486-CPUs nehmen

Weil es jede Menge "Kompatibilitätskleber" im Linux-Kernel gibt – so nennt Ingo Molnar das – will der prominente Entwickler einen Teil davon nun loswerden: der Support für x86-Prozessoren der 486-Generation und manche der sogenannten 586er soll gestrichen werden. Konkret geht es um alle CPUs, welche keine Register für einen Time-Stamp-Counter (TSC) bieten sowie den Befehl CMPXCHG8B nicht beherrschen (CX8-Bit in der CPUID).

Beides ist erst beim ersten Pentium (P5) von Intel der Fall, der 1993 auf den Markt kam. Schon vor diesem erschienen von anderen Anbietern Prozessoren mit der Nummer "586", die jedoch architektonisch mit dem Pentium nichts zu tun hatten. Intel verabschiedete sich damals von dem Namensschema mit einer dreistelligen Ziffer, weil sich diese nicht als Marke schützen ließ und setzte auf das Kunstwort "Pentium".

Wie Ingo Molnar auf der Mailingliste der Kernelentwickler schreibt, enthält der Linux-Kernel inzwischen etliche Emulationen, um Funktionen von den aktuellen 64-Bit-Prozessoren auch auf den über 30 Jahre alten CPU-Oldtimern zum Laufen zu bekommen. Das zu pflegen und zu testen sei nicht nur ein unverhältnismäßiger Aufwand, sondern auch fehleranfällig. Er zitiert in seiner Mail auch Linus Torvalds, der sich kürzlich ähnlich geäußert hatte.

Molnar zufolge steckt der größte Teil des Supports für die alten CPU in der Bibliothek "math-emu". Insgesamt, also für alle Teile des Kernels, müssten durch eine Beendigung des 486er-Supports 80 Dateien geändert werden, selbst ohne math-emu wären es noch 33 Dateien. Über alles gesehen ließen sich über 14000 Streichungen im Linux-Kernel vornehmen.

Die Umbauarbeiten dürften also, wenn sie denn nun wirklich begonnen werden, eine Weile dauern. All das gilt nur für den aktuellen Linux-Kernel und dessen Weiterentwicklungen, ältere Versionen erwähnt Molnar in seinem Aufruf nicht. Daher dürften auch für die historischen Prozessoren noch genügend Linux-Kernels zur Verfügung stehen. Die kompletten Distributionen setzen ohnehin in vielen Fällen schon einen 64-Bit-Prozessor voraus, worum es sich weder bei den 486ern noch beim ersten Pentium handelt.