Arnd Bergmann, der für die Kernel-Pakete bei SUSE verantwortlich ist, hat einen zweiten Versuch unternommen, den Linux-Kernel von Code zur Unterstützung veralteter ARM-Plattformen zu bereinigen, die kaum genutzt werden und die Wartung der aktuellen Subsysteme stören. Der erste Versuch wurde im August 2024 unternommen, kam jedoch nicht voran, obwohl die Kernel-Entwickler zustimmten, die Bereinigung 2025 oder 2026 nach der Bildung entsprechender LTS-Zweige des Kernels durchzuführen. Im zweiten Patch-Set hat Arnd die Informationen aktualisiert und Warnungen über die Umstellung von Plattformen auf den Status veraltet in die Konfigurationsdateien eingefügt. Tatsächlich wird vorgeschlagen, die markierten Plattformen im Kernel 7.4 zu entfernen, der Anfang 2027 erwartet wird.
Geplant zur Entfernung:
- Alle Support-Dateien für Plattformen, die nicht auf die Verwendung der Device-Tree-Struktur umgestellt wurden. Ausnahmen werden nur für die Plattformen OMAP1 und S3C (ARCH_S3C64XX) gemacht, da der Code zur Unterstützung von OMAP1 gerade in den Prozess der Umstellung auf Device Tree übergeht und die S3C-Boards weiterhin aktiv genutzt werden. Unter anderem wird standardmäßig die Unterstützung der ATAGS-Struktur (ARM Tag-Area) deaktiviert, die verwendet wurde, um Konfigurationsinformationen vor der Einführung von Device Tree zu übermitteln.
- Unterstützung für die erweiterte Befehlsoberfläche iWMMXt, die ab GCC 14 als veraltet gilt.
- Die Architektur ARMv6/ARM1136r0, die in SoCs wie ARM1136r0p (NXP i.MX31) und OMAP24xx (Nokia N8xx) verwendet wird. Das Entfernen betrifft nicht die Architektur ARMv6K (ARM1136r1/ARM1176).
- Mikrocontroller auf Basis von Cortex-M3/M4/M7-Prozessoren (stm32, imxrt, lpc18xx, samv7) – die letzten im Kernel unterstützten Chips ohne Speicherverwaltungseinheit (MMU).
- RiscPC – die älteste der im Kernel unterstützten Plattformen.
- Plattformen LSI Axxia.
- Emulator für die Ausführung von Gleitkomma-Operationen NWFPE (No Floating Point Emulator), OABI und OABI-Kompatibilitätsmodus (OABI_COMPAT), der das Ausführen von ausführbaren Dateien, die für OABI kompiliert wurden, unter einem Kernel mit EABI ermöglicht. Diese Subsysteme werden nur auf Geräten mit StrongARM-Prozessoren auf ARMv4-Basis angewendet und bis zur Entfernung der Unterstützung für StrongARM im Kernel verbleiben.
- Die Struktur param_struct, die bis zu ATAGS (ARM Tag-Area) verwendet wurde, wurde 2001 als veraltet erklärt und war bereits 2006 zur Entfernung vorgesehen.
- Als veraltet und nicht funktionsfähig (broken) gekennzeichnet, wird die BE8 (big-endian ARMv7) Betriebsart, von der bislang kein Entfernen geplant ist, da sie für die Testung von Benutzerraumkomponenten auf big-endian Systemen von Interesse ist. Die Unterstützung der big-endian Variante ARMv5 bleibt bestehen, da sie in den Prozessoren ixp4xx verwendet wird, die im Einsatz sind.
Zudem wird im Kernel Linux 7.3 die EFS-Dateisystem, welches in früheren Versionen des IRIX-Betriebssystems verwendet wurde, entfernt. Es stellte die Nutzung vor etwa 30 Jahren ein und wird seit mehr als 20 Jahren nicht mehr gepflegt. Für diejenigen, die Zugang zu Informationen auf EFS-Partitionen benötigen, stehen Dienstprogramme zur Verfügung, die im Benutzerraum arbeiten.
Es wurde zudem begonnen, die Nutzung der 32-Bit-Schnittstelle rdmsr() im Kernel zu beenden, die den Zugriff auf die MSR-Register (Model Specific Register) in der CPU ermöglicht, um den Inhalt der oberen und unteren 32-Bit-Werte aus 64-Bit-MSR-Registern einzeln zu lesen. Es ist geplant, den Code der 32-Bit-Schnittstelle vollständig zu entfernen und den Kernel auf die 64-Bit-Schnittstelle rdmsrq() zu migrieren, was es ermöglicht, alle hochrangigen Makros, die auf MSR zugreifen, durch Inline-Funktionen zu ersetzen.
Quelle: opennet.ru
