È stato pubblicato il rilascio del progetto CoreBoot il 25.09, che sviluppa un'alternativa open source ai firmware e BIOS proprietari. Il codice del progetto è distribuito sotto licenza GPLv2. La nuova versione include 684 modifiche, apportate con il contributo di 110 sviluppatori.
Principali modifiche:
- Supporto per schede madri implementato:
- ASROCK SPC741D8-2L2T/BCM.
- GIGABYTE GA_H81M_D2W.
- HP 260 G1 DM, HP Compaq Pro 6300 SFF/MT, HP ProDesk 600 G1 SFF.
- Intel Ptlrvp4es
- Lenovo ThinkPad T480/T480s.
- 11 schede utilizzate in vari dispositivi con Chrome OS o su server Google.
- L'avvio di SPI Flash e dei componenti del payload è stato notevolmente accelerato. Nella build in modalità CONFIG_SSE, nel codice di decompressione basato sull'algoritmo LZMA sono state utilizzate istruzioni SSE per la prefetch, consentendo il caricamento anticipato dei dati nella cache della CPU senza interrompere l'operazione di decompressione. Nei test dell'interfaccia SPI con una larghezza di banda di 100Mbit/s su CPU mobili Intel Sandy Bridge, si è riusciti a ridurre il tempo di avvio di 46 ms e ad accelerare la decompressione dei componenti del payload del 30%.
Per le piattaforme Intel Panther Lake è stata implementata la supporto per il caricamento asincrono dei file, che utilizza SPI DMA per il pre-caricamento del file fsps.bin in parallelo con l'esecuzione di altre attività sulla CPU. Su dispositivi Fatcat, questa ottimizzazione proposta ha accelerato il caricamento di 17-18 ms. È stata migliorata l'efficienza delle operazioni DMA. È stata aggiunta una nuova funzione di sincronizzazione cbfs_preload_wait_for_all(), che consente di completare in sicurezza le operazioni asincrone prima della disattivazione dei backend di archiviazione. Nel sottosistema Fast SPI DMA è stata implementata una coda di trasmissione dati basata su token, che minimizza i ritardi tra operazioni DMA successive e garantisce prestazioni di caricamento più prevedibili.
- È stata implementata la capacità di rilevare la modalità di avvio, consentendo alle piattaforme di trasmettere ai componenti payload informazioni critiche sullo stato di avvio. È supportata la definizione della modalità di avvio normale, della modalità di carica della batteria ridotta e della modalità di carica della batteria tramite un'interfaccia standardizzata boot_mode_t.
- La gestione degli MTRR (Memory Type Range Registers) per la memoria video è stata riprogettata, riducendo il tempo di inizializzazione del FSP-S (Firmware Support Package — Silicon) grazie al trasferimento della configurazione MTRR WC (Write-Combine) per la memoria video dalle funzioni di rendering del logo alla fase di inizializzazione del chip. Di conseguenza, il tempo di inizializzazione del sottosistema grafico è stato ridotto da 123 a 115 ms. La riprogettazione ha anche semplificato la manutenzione del codice separando la gestione degli MTRR dalle funzioni di rendering del logo.
- Nell'utility amdfwtool, progettata per lavorare con i firmware AMD, è stata migliorata la gestione della modalità di indirizzamento e ampliate le capacità di parsing della struttura EFW sulla piattaforma Turin.
- Nell'utility smmstoretool è stata aggiunta la supporto per variabili di dimensioni blocchi e aliasing delle tabelle delle partizioni GUID in modalità Secure Boot per migliorare la gestione delle variabili UEFI.
- È stata ampliata la supporto TPM per diverse piattaforme con CRB TPM e migliorata l'integrazione dell'fTPM per le piattaforme AMD.
- È stato migliorato il rendering del logo.
- È stata migliorata la compatibilità con il driver video Bochs.
- È stata aumentata la stabilità dell'utility cbfstool durante l'ordinamento della tabella FIT e in caso di errori nelle operazioni di compressione.
- Per le piattaforme Intel, AMD, MediaTek e Qualcomm sono state apportate modifiche che migliorano la gestione del consumo energetico, l'inizializzazione della memoria e il supporto delle interfacce hardware.
- Aggiornate le versioni di binutils 2.44, ACPICA 20250404, MPFR 4.2.2, SeaBIOS 1.17.0, U-Boot 2025.07.
Fonte: opennet.ru
