Intel udvikler en ny arkitektur til firmware kaldet Universal Scalable Firmware (USF), der har til formål at forenkle udviklingen af alle komponenter i softwarestakken til firmware til forskellige typer enheder, fra servere til systemer på en chip (SoC). USF tilbyder abstractionslag, der adskiller logikken for lav-niveau initialization af hardware fra de platformkomponenter, der er ansvarlige for konfiguration, firmwareopdatering, sikkerhed og opstart af operativsystemet. Et udkast til specifikationen og implementeringen af de typiske elementer i USF-arkitekturen er offentliggjort på GitHub.
USF har en modulær struktur, der ikke er bundet til specifikke løsninger og gør det muligt at anvende forskellige eksisterende projekter, der implementerer faserne af hardwareinitialisering og opstart, såsom UEFI-stakken TianoCore EDK2, den minimalistiske firmware Slim Bootloader, bootloaderen U-Boot og platformen CoreBoot. Som payload-miljøer, der bruges til at finde bootloaderen og overføre kontrol til operativsystemet, kan UEFI-grænsefladen, LinuxBoot-laget (til direkte opstart af Linux-kernen), VaultBoot (verificeret opstart) og hypervisoren ACRN anvendes. For operativsystemer er der standardgrænseflader såsom ACPI, UEFI, Kexec og Multi-boot.
USF adskiller et separat lag til hardwareunderstøttelse (FSP, Firmware Support Package), som interagerer med det universelle og konfigurerbare orkestreringslag (POL, Platform Orchestration Layer) via et fælles API. FSP abstraherer operationer som nulstilling af CPU'en, hardwareinitialisering, arbejde med SMM (System Management Mode), autentificering og verifikation på SoC-niveau. Orkestreringslaget forenkler oprettelsen af ACPI-grænseflader, understøtter standardbiblioteker for bootloadere, muliggør brug af Rust-sprog til at skabe sikre firmwarekomponenter og giver mulighed for at definere konfigurationen ved hjælp af YAML-markup. På POL-niveauet udføres også attestering, autentificering og organisering af sikker installation af opdateringer.

Den nye arkitektur forventes at muliggøre:
- Reducer kompleksiteten og omkostningerne ved at udvikle firmware til nye enheder ved at genbruge koden fra eksisterende standardkomponenter, modulær arkitektur, der ikke er bundet til specifikke bootloadere, og muligheden for at bruge et universelt API til konfiguration af moduler.
- Forbedre kvaliteten og sikkerheden af firmware gennem anvendelse af verifiable moduler til interaktion med hardware samt en sikrere infrastruktur til autentificering og verifikation af firmware.
- Brug forskellige bootloadere og payload-komponenter afhængigt af de opgaver, der skal løses.
- Fremskynde udrulningen af nye teknologier og reducere udviklingscyklussen — udviklere kan fokusere på at tilføje specifik funktionalitet og i øvrigt bruge eksisterende, afprøvede komponenter.
- Skalere udviklingen af firmware til forskellige blandede computingsarkitekturer (XPU), for eksempel indeholdende ikke blot CPU, men også diskrete grafiske accelerationsenheder (dPGU) og programmerbare netværksenheder til at accelerere netværksoperationer i datacentre, der understøtter cloud-systemer (IPU, Infrastructure Processing Unit).
Kilde: opennet.ru
