Intel ontwikkelt een nieuwe architectuur voor Universal Scalable Firmware (USF), gericht op het vereenvoudigen van de ontwikkeling van alle componenten van de softwarestack voor firmware voor verschillende soorten apparaten, van servers tot systeem-op-chip (SoC). USF biedt abstractieniveaus die de logica van low-level hardware-initialisatie scheiden van platformcomponenten die verantwoordelijk zijn voor configuratie, firmware-updates, beveiliging en het opstarten van het besturingssysteem. Het concept van de specificatie en de implementatie van de standaardelementen van de USF-architectuur zijn geplaatst op GitHub.
USF heeft een modulaire structuur die niet aan specifieke oplossingen is gebonden en het mogelijk maakt om verschillende bestaande projecten te gebruiken die de hardware-initialisatiestadia en opstartprocessen realiseren, zoals de UEFI-stack TianoCore EDK2, de minimalistische firmware Slim Bootloader, de opstartloader U-Boot en het platform CoreBoot. Als payload-omgevingen die worden gebruikt om de opstartloader te zoeken en de controle over te dragen aan het besturingssysteem, kunnen UEFI-interface, LinuxBoot-laag (voor directe opstart van de Linux-kernel), VaultBoot (geverifieerde opstart) en hypervisor ACRN worden gebruikt. Voor besturingssystemen worden standaardinterfaces zoals ACPI, UEFI, Kexec en Multi-boot aangeboden.
USF Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ»ΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ (FSP, Firmware Support Package), ΠΊΠΎΡΠΎΡΡΠΉ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌ ΡΠ»ΠΎΠ΅ΠΌ ΠΎΡΠΊΠ΅ΡΡΡΠΎΠ²ΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (POL, Platform Orchestration Layer) ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠΈΠΉ API. FSP Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΠ΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊ ΡΠ±ΡΠΎΡ CPU, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ° Ρ SMM (System Management Mode), Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ SoC. Π‘Π»ΠΎΠΉ ΠΎΡΠΊΠ΅ΡΡΡΠΎΠ²ΠΊΠΈ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ACPI, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΠΏΠΎΠ²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ·ΡΠΊ Rust Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΡΠΈΡΡΠ½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ·ΡΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ YAML. ΠΠ° ΡΡΠΎΠ²Π½Π΅ POL ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π°ΡΡΠ΅ΡΡΠ°ΡΠΈΡ (ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ), Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ.

Er wordt verwacht dat de nieuwe architectuur zal toelaten:
- Verminder de complexiteit en kosten van de ontwikkeling van firmware voor nieuwe apparaten door herbruikbare code van kant-en-klare standaardcomponenten, een modulaire architectuur die niet aan specifieke bootloaders is gekoppeld, en de mogelijkheid om een universele API te gebruiken voor het configureren van modules.
- Verhoog de kwaliteit en veiligheid van firmware door gebruik te maken van verifieerbare modules voor interactie met hardware en een veiligere infrastructuur voor authenticatie en verificatie van firmware.
- Gebruik verschillende bootloaders en payloadcomponenten, afhankelijk van de taken die moeten worden opgelost.
- Versnel de voortgang van nieuwe technologieΓ«n en verkort de ontwikkelingscyclus β ontwikkelaars kunnen zich concentreren op het toevoegen van specifieke functionaliteit, terwijl ze in andere opzichten gebruikmaken van kant-en-klare, bewezen componenten.
- Schaal de ontwikkeling van firmware voor verschillende gemengde computationele architecturen (XPU), bijvoorbeeld met inbegrip van een ingebouwde discrete grafische accelerator (dPGU) en programmeerbare netwerkapparaten ter versnelling van netwerkoperaties in datacenters, die cloudsystemen (IPU, Infrastructure Processing Unit) ondersteunen.
Bron: opennet.ru
