Arnd Bergmann, responsabile dei pacchetti del kernel in SUSE, ha intrapreso un secondo tentativo di rimuovere dal kernel Linux il codice per il supporto di piattaforme ARM obsolescenti, che sono praticamente inutilizzate e ostacolano la manutenzione dei sotto-sistemi attuali. Il primo tentativo è stato effettuato nell'agosto 2024, ma ha incontrato difficoltà, nonostante il consenso dei sviluppatori del kernel di effettuare la pulizia nel 2025 o 2026 dopo la formazione dei rispettivi rami LTS del kernel. Nel secondo insieme di patch, Arnd ha aggiornato le informazioni e ha aggiunto avvisi nei file di configurazione riguardo alla classificazione delle piattaforme come obsolete. In pratica, si propone di rimuovere le piattaforme contrassegnate nel kernel 7.4, previsto per l'inizio del 2027.
Sono previsti per la rimozione:
- Tutti i file di supporto delle schede non convertiti per utilizzare la struttura Device Tree. Sarà fatta un'eccezione solo per le piattaforme OMAP1 e S3C (ARCH_S3C64XX), poiché il codice per il supporto di OMAP1 è in fase di conversione su Device Tree, mentre le schede S3C continuano a essere utilizzate attivamente. Inoltre, per impostazione predefinita, sarà disabilitato il supporto della struttura ATAGS (ARM Tag-Area), utilizzata per trasferire informazioni di configurazione fino a Device Tree.
- Supporto per il set esteso di istruzioni iWMMXt, dichiarato obsoleto a partire da GCC 14.
- Architettura ARMv6/ARM1136r0, utilizzata in SoC come ARM1136r0p (NXP i.MX31) e OMAP24xx (Nokia N8xx). La rimozione non coinvolge l'architettura ARMv6K (ARM1136r1/ARM1176).
- Microcontrollori basati su processori Cortex-M3/M4/M7 (stm32, imxrt, lpc18xx, samv7) — ultime schede supportate nel kernel senza unità di gestione della memoria (MMU).
- RiscPC — la piattaforma più antica supportata nel kernel.
- Piattaforme LSI Axxia.
- Emulatore per eseguire operazioni con numeri a punto mobile NWFPE (No Floating Point Emulator), OABI e modalità di compatibilità OABI (OABI_COMPAT), che consente di eseguire file eseguibili compilati per OABI utilizzando un kernel EABI. Queste sottosistemi sono applicabili solo su dispositivi con processori StrongARM basati sull'architettura ARMv4 e saranno rimossi per restare nel kernel fino alla cessazione del supporto per StrongARM.
- Struttura param_struct, utilizzata fino agli ATAGS (ARM Tag-Area), dichiarata obsoleta nel 2001 e programmata per la rimozione nel 2006.
- Contrassegnato come obsoleto e non funzionante il supporto per il modo BE8 (big-endian ARMv7), che attualmente non è previsto per la rimozione poiché è utile per testare i componenti dello spazio utente sui sistemi big-endian. Il supporto per la variante big-endian ARMv5 rimane, poiché è utilizzato nei processori ixp4xx attualmente in uso.
Inoltre, nel kernel Linux 7.3 si prevede di rimuovere il file system EFS, che è stato utilizzato nelle versioni precedenti del sistema operativo IRIX, non viene più usato da circa 30 anni ed è già da oltre 20 anni senza supporto. Per coloro che necessitano di accesso alle informazioni nelle partizioni EFS, sono disponibili utilità che funzionano nello spazio utente.
È inoltre iniziato il lavoro per interrompere l'uso nel kernel dell'interfaccia a 32 bit rdmsr() per accedere ai registri MSR (Model Specific Register) nel CPU, che consente di leggere separatamente il contenuto dei valori a 32 bit superiori e inferiori da registri MSR a 64 bit. Si prevede di rimuovere completamente il codice dell'interfaccia a 32 bit e di trasferire il kernel all'interfaccia a 64 bit rdmsrq(), il che permetterà di sostituire tutti i macro di alto livello che si riferiscono a MSR con funzioni inline.
Fonte: opennet.ru
