Arnd Bergmann, odpowiedzialny za pakiety jądra w SUSE, podjął drugą próbę oczyszczenia jądra Linux z kodu wspierającego przestarzałe platformy ARM, które są prawie nieużywane i utrudniają utrzymanie aktualnych podsystemów. Pierwsza próba miała miejsce w sierpniu 2024 roku, ale utknęła w martwym punkcie, mimo zgody deweloperów jądra na przeprowadzenie oczyszczenia w 2025 lub 2026 roku po utworzeniu odpowiednich gałęzi LTS jądra. W drugim zestawie poprawek Arnd zaktualizował informacje i dodał do plików konfiguracyjnych ostrzeżenia o przekształceniu platform w kategorię przestarzałych. Proponuje się faktyczne usunięcie oznaczonych platform w jądrze 7.4, spodziewanym na początku 2027 roku.
Zaplanowane do usunięcia:
- Wszystkie pliki wsparcia dla platform, które nie zostały przekształcone do używania struktury Device Tree. Wyjątek zostanie zrobiony tylko dla platform OMAP1 i S3C (ARCH_S3C64XX), ponieważ kod wsparcia dla OMAP1 znajduje się w trakcie przekształcania do Device Tree, a płyty S3C są nadal aktywnie używane. Między innymi domyślnie zostanie wyłączone wsparcie dla struktury ATAGS (ARM Tag-Area), która była używana do przekazywania informacji o konfiguracji przed wprowadzeniem Device Tree.
- Wsparcie dla rozszerzonego zestawu instrukcji iWMMXt, które zostało ogłoszone przestarzałe od GCC 14.
- Architektura ARMv6/ARM1136r0, używana w takich SoC jak ARM1136r0p (NXP i.MX31) i OMAP24xx (Nokia N8xx). Usunięcie nie dotyczy architektury ARMv6K (ARM1136r1/ARM1176).
- Mikrokontrolery oparte na procesorach Cortex-M3/M4/M7 (stm32, imxrt, lpc18xx, samv7) — ostatnie chipy wspierane w jądrze bez jednostki zarządzania pamięcią (MMU).
- RiscPC — najstarsza z obsługiwanych w jądrze platform.
- Platformy LSI Axxia.
- Emulator do wykonywania operacji z przecinkiem zmiennoprzecinkowym NWFPE (No Floating Point Emulator), OABI oraz tryb zgodności z OABI (OABI_COMPAT), umożliwiający wykonywanie plików wykonywalnych skompilowanych dla OABI na jądrze z EABI. Te podsystemy są stosowane tylko na urządzeniach z procesorami StrongARM opartymi na architekturze ARMv4 i zostaną usunięte w miarę usuwania wsparcia dla StrongARM.
- Struktura param_struct, używana przed ATAGS (ARM Tag-Area), ogłoszona przestarzałą w 2001 roku i planowana do usunięcia jeszcze w 2006 roku.
- Oznaczona jako nieaktualna i nie działająca (broken) obsługa trybu BE8 (big-endian ARMv7), który na razie nie jest planowany do usunięcia, ponieważ jest interesujący do testowania komponentów przestrzeni użytkownika na systemach big-endian. Obsługa big-endian wersji ARMv5 jest zachowana, ponieważ jest używana w procesorach ixp4xx, które są w użyciu.
Ponadto, w jądrze Linux 7.3 planuje się usunięcie systemu plików EFS, który był stosowany w wczesnych wersjach systemu operacyjnego IRIX, przestał być używany około 30 lat temu i przez ponad 20 lat nie był wspierany. Dla tych, którzy potrzebują dostępu do informacji na partycjach z EFS, istnieją narzędzia działające w przestrzeni użytkownika.
Rozpoczęto również prace nad zaprzestaniem używania w jądrze 32-bitowego interfejsu rdmsr() do dostępu do rejestrów MSR (Model Specific Register) w CPU, umożliwiającego oddzielne odczytywanie zawartości wyższych i niższych 32-bitowych wartości z 64-bitowych rejestrów MSR. Planowane jest całkowite usunięcie kodu 32-bitowego interfejsu oraz przejście jądra na 64-bitowy interfejs rdmsrq(), co pozwoli na zastąpienie wszystkich wysokopoziomowych makr, które odwołują się do MSR, funkcjami inline.
Źródło: opennet.ru
