L'azienda Intel sta sviluppando una nuova architettura di firmware chiamata Universal Scalable Firmware (USF), mirata a semplificare lo sviluppo di tutti i componenti dello stack software per firmware per diverse categorie di dispositivi, dai server ai sistemi su chip (SoC). USF fornisce livelli di astrazione che consentono di separare la logica di inizializzazione hardware di basso livello dai componenti della piattaforma responsabili della configurazione, dell'aggiornamento del firmware, della sicurezza e dell'avvio del sistema operativo. Una bozza della specifica e dell'implementazione degli elementi standard dell'architettura USF è disponibile su GitHub.
USF ha una struttura modulare non legata a soluzioni specifiche e consente di utilizzare vari progetti esistenti che implementano le fasi di inizializzazione dell'hardware e di avvio, come lo stack UEFI TianoCore EDK2, il firmware minimalista Slim Bootloader, il bootloader U-Boot e la piattaforma CoreBoot. Gli ambienti payload utilizzati per la ricerca del bootloader e il passaggio del controllo al sistema operativo possono includere l'interfaccia UEFI, il layer LinuxBoot (per l'avvio diretto del kernel Linux), VaultBoot (avvio verificato) e l'iperoperatore ACRN. Sono forniti interfacce standard per i sistemi operativi, come ACPI, UEFI, Kexec e Multi-boot.
USF prevede un layer separato per il supporto hardware (FSP, Firmware Support Package), che interagisce con un layer di orchestrazione della piattaforma universale e configurabile (POL, Platform Orchestration Layer) attraverso una API comune. FSP astrae operazioni come il reset della CPU, l'inizializzazione dell'hardware, la gestione del SMM (System Management Mode), l'autenticazione e la verifica a livello SoC. Il layer di orchestrazione semplifica la creazione di interfacce ACPI, supporta librerie standard per bootloader, consente di utilizzare il linguaggio Rust per creare componenti di firmware sicuri e offre la possibilità di definire la configurazione utilizzando il linguaggio di marcatura YAML. A livello di POL vengono eseguite anche attestazioni, autenticazione e organizzazione di installazioni sicure degli aggiornamenti.

Si prevede che la nuova architettura consentirà:
- Ridurre la complessità e i costi di sviluppo dei firmware per nuovi dispositivi attraverso il riutilizzo del codice di componenti standardizzati, un'architettura modulare non legata a caricamenti specifici e la possibilità di utilizzare un'API universale per la configurazione dei moduli.
- Aumentare la qualità e la sicurezza dei firmware grazie all'uso di moduli di interazione con l'hardware verificabili e a un'infrastruttura più sicura per l'autenticazione e la verifica dei firmware.
- Utilizzare diversi caricamenti e componenti payload a seconda delle problematiche da risolvere.
- Accelerare l'adozione di nuove tecnologie e accorciare il ciclo di sviluppo: gli sviluppatori possono concentrarsi solo sull'aggiunta di funzionalità specifiche, utilizzando nel resto componenti già collaudati.
- Scalare lo sviluppo di firmware per diverse architetture di calcolo ibride (XPU), ad esempio includendo oltre alla CPU un acceleratore grafico discreto integrato (dPGU) e dispositivi di rete programmabili per accelerare l'esecuzione delle operazioni di rete nei data center, supportando le operazioni dei sistemi cloud (IPU, Infrastructure Processing Unit).
Fonte: opennet.ru
