Entwickler des Linux-Kernels auf dem Weg zur Entfernung der Unterstützung für i486-Prozessoren

Ingo Molnar, Maintainer der x86-Architektur, des Lock-Mechanismus und des Task Schedulers im Linux-Kernel, hat eine Reihe von Patches zur Diskussion gestellt, die die Unterstützung für 486-Prozessoren (M486, M486SX, AMD ELAN) und frühe Serien von 586-Prozessoren aus dem Kernel entfernen. Im Kernel wird vorgeschlagen, nur die Möglichkeit zur Arbeit mit x86-Prozessoren zu belassen, die die CX8-Anweisung (CMPXCHG8B) und das TSC-Register (Time Stamp Counter) unterstützen, die in den Pentium-CPUs eingeführt wurden.

Es wird darauf hingewiesen, dass für die Unterstützung des 486-Prozessors im Kernel Code gehalten werden muss, der die CX8-Operationen (Vergleichen und Tauschen von 8 Byte) und TSC (CPU-Zähler, der im Task Scheduler verwendet wird) emuliert. Ein solcher Code macht den Kernel komplizierter, erschwert die Pflege und wird manchmal zur Quelle von Problemen, deren Lösung den Entwicklern Zeit raubt. Die Einstellung der Unterstützung für 486 ermöglicht es, 14.104 Zeilen Code aus dem Kernel zu entfernen, was einige Funktionen im Kernel erheblich vereinfacht, indem die Schichten entfernt werden, die CX8 und TSC emulieren, und ermöglicht es, die math-emu-Bibliothek, die FPU emuliert, loszuwerden.

Einen Tag vor der Veröffentlichung der Patches stellte Linus Torvalds die Frage der Zweckmäßigkeit der Entfernung der Unterstützung für 486 bei der Diskussion eines weiteren Problems, das bei der Emulation von CX8 auftritt. Linus ist der Meinung, dass es an der Zeit sei, die Unterstützung für 486-CPUs aufzugeben und sieht keinen Grund, weiterhin Zeit der Entwickler für die Lösung der dadurch entstehenden Probleme zu verschwenden. Die Unterstützung für 386-Prozessoren wurde 2012 aus dem Kernel entfernt. Laut den Diskussionsteilnehmern ist jetzt der richtige Zeitpunkt, die Unterstützung für CPU 486 zu entfernen. Im Oktober 2022 hatte Linus bereits einen ähnlichen Vorschlag veröffentlicht, der jedoch nicht weiterverfolgt wurde.

In den noch häufig verwendeten 486-Systemen werden aktuelle Linux-Kernel praktisch nicht verwendet. Spezialisierte Varianten von 486-Prozessoren für Embedded-Systeme, wie Intel Quark, unterstützen CX8 und TSC, ihre Änderung wird davon nicht betroffen sein. Alte originale 486-CPUs werden in der Regel mit veralteten Distributionen weiterverwendet, die alte Versionen des Linux-Kernels bereitstellen. Moderne Linux-Distributionen haben die Unterstützung für 32-Bit-x86-Systeme längst eingestellt oder sind auf die Verwendung der Option X86_PAE umgestiegen, die die Unterstützung von CX8 erfordert.

Quelle: opennet.ru

60GB SSD 8Gb DDR4