In questo articolo Indice dei contenuti 2 sezioni
Il kernel Linux 7.3 arriva con una doppia anima, perché da una parte allarga il supporto all’hardware più recente e dall’altra apre la più grande operazione di pulizia mai vista sul vecchio codice ARM a 32 bit. Il nuovo ciclo di sviluppo porta in dote piattaforme come Apple M3 Pro, M3 Max e M3 Ultra, Samsung Exynos 1580, Sophgo SG2000 e Qualcomm Shikra, mentre in parallelo decine di architetture storiche vengono formalmente messe da parte. Non è ancora una cancellazione definitiva, chiariamolo subito. Il codice resta nel kernel, ma i manutentori hanno segnato con la matita rossa i componenti destinati a sparire nei cicli successivi se nessuno si farà avanti per dimostrare che servono ancora a qualcuno.
Il motivo è più concreto di quanto sembri. Molte di queste piattaforme risalgono all’epoca precedente al Device Tree e si portano dietro board file, driver, workaround e configurazioni che oggi rendono complicata qualsiasi modifica di ampio respiro. Dei 28 vecchi board file ARM ancora presenti nel kernel, ben 22 finiscono tra i candidati alla rimozione. Secondo il manutentore Arnd Bergmann, una volta eliminate le piattaforme senza utenti potrebbero diventare inutili anche centinaia di driver. Il kernel, insomma, non sta buttando via solo qualche vecchia macchina, sta tagliando intere catene di dipendenze rimaste orfane.
Perché il vecchio supporto ARM a 32 bit è finito nel mirino
Bergmann lo spiega senza giri di parole: l’obiettivo non è dimagrire i sorgenti per una questione estetica. Il problema nasce quando mantenere hardware con un numero di utenti vicino allo zero diventa un ostacolo per semplificazioni architetturali o per l’adozione di nuove funzioni. Le piattaforme colpite sono in gran parte Intel e Marvell precedenti alla migrazione verso il Device Tree, quando il kernel conteneva codice C che descriveva direttamente quali dispositivi fossero presenti sulla scheda, con relativi indirizzi, interrupt e caratteristiche.
Con il Device Tree tutto questo vive fuori dal codice. Processore, controller, periferiche, indirizzi di memoria e collegamenti tra i componenti finiscono in una struttura dati separata che il kernel legge all’avvio, così lo stesso kernel può gestire schede molto diverse senza inizializzazioni sparse ovunque nei sorgenti.
Nella lista dei deprecati entrano anche ARM1136r0 e i core Cortex-M3, Cortex-M4 e Cortex-M7. Il caso ARM1136r0 è tecnicamente curioso, perché le prime revisioni ARMv6 non implementano tutte le estensioni ARMv6K usate per aspetti fondamentali del multiprocessing e convivono male con le configurazioni attuali. Tra i dispositivi coinvolti spuntano nomi da museo come i tablet Nokia N800 e N810, oltre a diverse schede di sviluppo Freescale/NXP, TI e ARM. Candidati alla futura eliminazione anche OABI, BE8, BE32 e iWMMXt.
Nuovi SoC, GPU Adreno e il capitolo Apple
Sul fronte opposto il kernel continua ad allargarsi. Linux 7.3 aggiunge descrizioni e componenti per Samsung Exynos 1580, Canaan K210, Sophgo SG2000, Qualcomm Shikra e Altera Agilex72, oltre alla famiglia Apple M3 più potente. Shikra è il pezzo più misterioso, visto che Qualcomm non ha ancora diffuso molti dettagli pubblici, mentre le patch parlano di core Cortex-A78C. Arriva pure il supporto MSM DRM per le GPU Adreno 704, presente in piattaforme embedded come UNO-Q, e Adreno 722, che accompagna tra gli altri Snapdragon 7 Gen 4.
Sui Mac il progresso c’è ma va ridimensionato. Linux 7.2 aveva introdotto le basi Device Tree per il SoC M3 standard, adesso la stessa impostazione raggiunge Apple M3 Pro, Max e Ultra. Si arriva al boot e alla console, però mancano ancora pezzi essenziali per l’uso quotidiano, a partire dall’accelerazione GPU. Il progetto Asahi Linux resta il riferimento per Apple Silicon, e anche lì la serie M3 ha diverse funzioni incomplete.
C’è infine un regalo per chi usa M1 Pro, M1 Max e M1 Ultra: il driver apple-pmgr-misc, nato dal lavoro di Hector Martin dentro Asahi. PMGR coordina la gestione energetica a basso livello, compresi il fabric interno e il sottosistema di memoria. Durante il suspend-to-idle il guadagno misurato arriva a circa 1 W, che su un MacBook lasciato sospeso per 10 ore significa circa 10 Wh risparmiati.










