Požadavky rozhraní UEFI pro edice Windows na platformách SoC
Tento článek popisuje požadavky rozhraní UEFI, které platí pro Windows 10 pro desktopové edice (Home, Pro, Enterprise a Education).
Souhrn požadavků
V následující tabulce jsou uvedeny všechny aktuální požadavky na dodržování předpisů UEFI definované ve specifikaci rozhraní UEFI (oddíl 2.6 specifikace rozhraní UEFI 2.3.1). V této tabulce termín Explicitní požadavek na systém Windows identifikuje jakýkoli protokol nebo službu, které jsou přímo volány komponentou systému Windows. Přestože Windows explicitně používá pouze tyto služby, mohou být ostatní uvedené služby a protokoly implicitně nebo explicitně vyžadovány implementací základního firmwaru, ovladači zařízení EFI nebo nástroji pro vývoj a nasazení.
Microsoft vítá zpětnou vazbu a připomínky implementátorů k této sadě požadavků. Pro všechny požadavky na dodržování předpisů UEFI, které operační systém nebo firmware nevyžadují, je naším záměrem pracovat prostřednictvím UEFI.org, abychom tyto požadavky na dodržování předpisů uvolnili pro tuto třídu zařízení.
Další informace o konkrétních požadavcích najdete v částech za tabulkou.
Požadavek | Oddíl specifikace UEFI | Poznámky |
---|---|---|
systémová tabulka EFI | 4.3 | Explicitní požadavek na Windows |
spouštěcí služby EFI | 6.0 | |
Služby událostí, časovače a úloh | 6.1 | |
Paměťové služby | 6.2 | Explicitní požadavek na Windows |
Služby protokolového zpracovatele | 6.3 | Explicitní požadavek na Windows |
Služby obrázků | 6.4 | Explicitní požadavek na Windows |
Různé služby | 6.5 | Explicitní požadavek na Windows |
služeb modulu runtime EFI | 7.0 | |
Časové služby | 7.3 | Explicitní požadavek na Windows |
Proměnné služby | 7.2 | Explicitní požadavek na Windows |
Různé služby | 7.5 | Explicitní požadavek na Windows |
požadované protokoly UEFI | ||
Protokol EFI pro načtené obrazy | 8.1 | |
Protokol cesty zařízení s načteným obrazem EFI | 8.2 | |
Protokol cesty zařízení EFI | 9.2 | Explicitní požadavek na Windows |
Protokol nástrojů pro cesty zařízení EFI | 9.5 | |
Dekompresní protokol EFI | 18.5 | |
Protokol interpreta EBC | 20.11 | |
podmíněně vyžadované protokoly UEFI | ||
Jednoduchý textový vstupní protokol EFI | 11.3 | Explicitní požadavek na Windows |
Protokol EFI EX pro jednoduchý textový vstup | 11.2 | |
Textový protokol jednoduchého výstupu EFI | 11.4 | |
Grafický výstupní protokol EFI | 11.9 | Explicitní požadavek na Windows |
Zjištěný protokol EFI EDID | 11.9.1 | |
Aktivní protokol EFI EDID | 11.9.1 | |
Protokol EFI Block IO | 12.8 | Explicitní požadavek na Windows |
Protokol EFI disk IO | 12.7 | |
Jednoduchý protokol systému souborů EFI | 12.4 | |
Protokol kolace EFI Unicode | 12.10 | |
Jednoduchý síťový protokol EFI | 21.1 | |
Základní kódový protokol EFI PXE | 21.3 | |
Protokol služeb integrity spouštění EFI | 21.5 | |
Sériový vstupně-výstupní protokol EFI | 11.8 | |
UEFI Arm vazba | 2.3.5 | Explicitní požadavek na Windows |
požadavky na zabezpečení | ||
Zabezpečené spouštění | 27.0 | Explicitní požadavek na Windows |
Požadavky na správce spouštění | 3.1, 3.3 | Explicitní požadavek na Windows |
Požadavky na systémovou tabulku EFI
Systémová tabulka EFI musí odpovídat standardní definici na úrovni revize implementované. Konfigurační tabulka, na kterou odkazuje systémová tabulka EFI, musí obsahovat dvě identifikátory GUID a jejich přidružené ukazatele popsané v následující tabulce.
Identifikátor GUID | Popis |
---|---|
Identifikátor GUID tabulky EFI_ACPI | Tento identifikátor GUID musí odkazovat na ukazatel popisu kořenového systému ACPI (RSDP) pro platformu. |
SMBIOS_Table GUID | Tento GUID musí odkazovat na strukturu vstupního bodu SMBIOS. Systém Windows vyžaduje specifikaci SMBIOS na úrovni revize 2.4 nebo vyšší. Jsou vyžadovány oddíly 3.2, Povinné struktury a data a 4, Pokyny pro shodu. Je k dispozici test kompatibility SMBIOS pro Windows. |
Požadavky na spouštěcí služby EFI
Následující tabulka uvádí požadavky na spouštěcí služby EFI pro Windows.
Spouštěcí služba EFI | Požadavek |
---|---|
Paměťové služby | Systém Windows vyžaduje všechny paměťové služby. |
Služby zpracování protokolu | Systém Windows vyžaduje následující služby obslužné rutiny protokolu: OpenProtocol() CloseProtocol() LocateDevicePath() LocateHandle() |
Služby obrázků | Systém Windows vyžaduje následující služby imagí: ExitBootServices() |
Různé spouštěcí služby | Systém Windows vyžaduje následující různé spouštěcí služby: Stall() Poznámka: Implementace Stall() musí mít deterministickou (opakovatelnou) chybu, aby mohla být oprava nebo zrušení chyby spolehlivě provedena. |
Požadavky na běhové služby EFI
Následující tabulka uvádí požadavky na služby modulu runtime EFI pro Windows.
Služba runtime EFI | Požadavek |
---|---|
Časové služby | Systém Windows vyžaduje následující časové služby: GetTime() SetTime() Poznámka: Časové služby budou volány pouze během spouštění (před exitBootServices()) pro přístup k hardwaru na platformě. |
Proměnné služby | Všechny služby proměnných rozhraní UEFI jsou vyžadovány pro správu více spouštěcích zařízení a proměnných zabezpečení v cílové třídě systémů. |
Různé runtime služby | Systém Windows vyžaduje následující různé služby modulu runtime: ResetSystem() Poznámka: implementace ResetSystem() musí podporovat možnosti resetování i vypnutí. |
Požadavky na protokol
Následující tabulka popisuje protokoly UEFI, které systém Windows vyžaduje k provádění konkrétních funkcí během spouštění.
Protokol | Požadavek |
---|---|
Grafický výstupní protokol | Systém Windows vyžaduje grafický výstupní protokol (GOP). Konkrétní požadavky na vyrovnávací paměť rámce jsou: U integrovaných displejů musí HorizontalResolution a VerticalResolution být nativním rozlišením panelu. U externích displejů HorizontalResolution a VerticalResolution musí být nativní rozlišení displeje, nebo pokud to není podporované, musí být nejvyšší hodnoty podporované grafickým adaptérem i připojeným displejem. PixelsPerScanLine musí být stejný jako HorizontalResolution. PixelFormat musí být PixelBlueGreenRedReserved8BitPerColor. Vyžaduje se fyzický frame buffer; PixelBltOnly není podporován. Při předání řízení spouštění spouštěcí aplikaci UEFI nesmí správce spouštění firmwaru a firmware používat frame buffer pro žádný účel. Vyrovnávací paměť rámce musí být po ukončení spouštěcích služeb dál prohledána. |
Alternativní výstup zobrazení | Firmware rozhraní UEFI musí podporovat spouštění pomocí libovolného konektoru zobrazení podporovaného hardwarem. Pokud je interní panel připojený a viditelný, musí být použit interní panel. Všechny výstupy, které mají fyzicky připojené displeje, musí zobrazit spouštěcí obrazovku. U připojených displejů musí firmware rozhraní UEFI: Inicializace výstupu pomocí nativního režimu zobrazení, pokud je možné určit nativní rozlišení. Pokud nativní režim není možný, musí se inicializovat do nejvyššího kompatibilního režimu. Pokud není možné určit možnosti zobrazení, musí být připojený displej inicializován v režimu, o kterém je známo, že je kompatibilní s co největším počtem monitorů (obvykle 640x480 nebo 1024x768 při 60 Hz). |
Vstup při spuštění | Protokol EFI Simple Text Input Protocol se vyžaduje pro výběr spouštěcích možností nebo jiných výběrů nabídek v systémech s integrovanými klávesnicemi nebo připojenými klávesnicemi. Pro systémy bez klávesnice se ve spouštěcím prostředí doporučují tři tlačítka: Tlačítko Start Tlačítko Zvýšit hlasitost Tlačítko Snížit hlasitost Stisknutí tlačítek by se mělo hlásit prostřednictvím protokolu EFI Simple Text Input Protocol tak, že je namapuje na následující klávesové zkratky: Klávesa Windows Šipka nahoru Šipka dolů |
Spuštění místního úložiště | Systém Windows vyžaduje podporu protokolu blokových vstupně-výstupních operací a protokolu cesty zařízení pro řešení úložiště, které obsahuje systémový oddíl EFI a oddíl operačního systému Windows. Pro spouštění z flashového úložiště, které vyžaduje vyrovnávání opotřebení nebo jinou správu paměti flash, musí být implementováno ve firmwaru (ne v aplikaci UEFI). |
Požadavky na zabezpečení
Systém Windows má požadavky na zabezpečení v oblastech zabezpečeného spouštění, měřeného spouštění, kryptografie a ochrany dat. Tyto požadavky jsou podrobně popsané v následující tabulce. Kromě toho pro oblasti, ve kterých hardware SoC brání dodržování stávajících standardů (TPM, RTC atd.), se vyvíjejí další požadavky. Jsou popsány na konci tabulky.
Oblast | Požadavek |
---|---|
Obecné |
|
Zabezpečené spouštění UEFI |
|
Měřené spouštění UEFI | Následující požadavky nevyžadují implementaci TCG TPM; však naznačují potřebu ekvivalentních funkcí pro ovlivněné oblasti. Podporu platformy může poskytovat implementace firmwaru čipu TPM, která se spouští v zabezpečeném spouštěcím prostředí, vrstvení nad kryptografickým akceleračním modulem a využití izolovaného úložiště. Microsoft může být schopen poskytnout referenční software pro takovou implementaci TPM pro použití dodavatelem. Toto téma je předmětem dalších diskuzí.
|
Kryptografie |
|
Ochrana dat |
|
Další požadavky na zabezpečení | Windows na platformách SoC vyžaduje následující další požadavky.
|
Požadavky správce spouštění firmwaru
Správce spouštění firmwaru musí podporovat výchozí chování spouštění definované v části 3.3 specifikace. Kromě toho je vyžadována podpora vícenásobného spouštění, globálně definovaných proměnných a požadavky Správce spouštění podle části 3.1 specifikace.
Požadavky na vazby UEFI Arm
UEFI Arm Binding zahrnuje požadavky specifické pro platformu Arm potřebné k tomu, aby byla v souladu se specifikací UEFI. Systém Windows vyžaduje vše v vazbě Arm, která se vztahuje na ARMv7. Vzhledem k tomu, že systém Windows nepodporuje nic staršího než ARMv7, jsou požadavky specifické pro ARMv6k a starší vázání volitelné.
Vazba určuje například způsob konfigurace MMU a namapování fyzické paměti. Vazba také určuje, že volání protokolů a služeb UEFI by měla být provedena pouze v Arm ISA, což znamená, že software spuštěný v Thumb2 nebo Thumb by před voláním funkcí UEFI potřeboval přepnout zpět do režimu Arm.
Požadavky na spuštění multiprocesoru UEFI Arm
Společnost Microsoft vyvinula protokol pro spouštění několika jader Arm na platformě UEFI s více procesory. Tento protokol vyžaduje Windows na platformách Arm, které nepodporují Power State Coordination Interface (PSCI). Platformy, které podporují PSCI, nesmí tento protokol používat. Další informace o tomto protokolu naleznete v dokumentu Multiprocesorové spuštění na platformách UEFI na bázi Arm na webových stránkách ACPI Component Architecture (ACPICA).
Požadavky na nastavení platformy
Firmware je zodpovědný za uvedení systémového hardwaru do dobře definovaného stavu před předáním zavaděči operačního systému. Následující tabulka definuje související požadavky na nastavení platformy.
Požadavek | Popis |
---|---|
Spouštěcí cesta | Firmware musí inicializovat platformu do bodu, kde má Systém Windows přístup ke spouštěcímu zařízení přes rozhraní UEFI a načíst jádro. Každé zařízení, které je součástí hierarchie a účastní se čtení ze spouštěcího zařízení, musí být taktované a napájené rozumnou rychlostí vzhledem k výkonu a spotřebě energie. Samotné jádro základního procesoru by také mělo být hodinováno a napájeno rozumnou rychlostí, aby se systém mohl spouštět včas bez vyprázdnění baterie. |
Základní systémové prostředky | Základní systémové prostředky, které jsou vystaveny operačnímu systému prostřednictvím tabulek ACPI, musí být zapnuté a hodinované. Mezi základní systémové prostředky patří kontrolery přerušení, časovače a řadiče DMA, které musí operační systém spravovat. Kromě toho musí být přerušení maskována voláním ExitBootServices(), dokud přidružený ovladač zařízení v operačním systému neodmaskuje a znovu povolí přerušení na zařízení. Pokud jsou během spouštěcích služeb povolené přerušení, předpokládá se, že je firmware spravuje. |
Ladění | Systém Windows podporuje ladění prostřednictvím rozhraní USB 3 Host (XHCI), USB 2 Host (EHCI)1, IEEE 1394, serial a USB Function interfaces (stejně jako adaptéry PCI ethernet). Alespoň jeden z nich musí být před předáním řízení operačnímu systému zapnutý, synchronizován a inicializován firmwarem. Bez ohledu na to, která možnost je k dispozici, musí mít otevřený port pro účely ladění a řadič musí být paměťově mapovaný nebo připojený přes vyhrazenou (nesdílenou) periferní sběrnici. |
Další požadavky na nastavení platformy | Před předáním řízení do zavaděče operačního systému musí být ve firmwaru dokončena jakákoli konfigurace pin-multiplexingu a nastavení padů. |
Požadavky na instalaci
Systém Windows vyžaduje, aby byl oddíl operačního systému umístěn na úložném zařízení s GPT. Úložiště rozdělené do oddílů MBR se dá použít jako úložiště dat. Jak je definováno ve specifikaci rozhraní UEFI, platforma UEFI vyžaduje vyhrazený systémový oddíl. Systém Windows vyžaduje tento vyhrazený systémový oddíl, který se označuje jako systémový oddíl EFI (ESP).
Požadavek rozhraní HSTI (Hardware Security Test Interface)
Platforma musí implementovat rozhraní pro testování hardwarového zabezpečení a platforma je nutná ke sdílení dokumentace a nástrojů uvedených ve specifikaci Specifikace testability hardwarového zabezpečení.
Související články
minimální požadavky rozhraní UEFI pro Windows na platformách SoC