Requisiti UEFI per le edizioni di Windows nelle piattaforme SoC
Questo articolo descrive i requisiti UEFI applicabili a Windows 10 per le edizioni desktop (Home, Pro, Enterprise e Education) e Windows 10 Mobile. Per i requisiti aggiuntivi che si applicano solo ai Windows 10 Mobile, vedere requisiti UEFI per Windows 10 Mobile.
Riepilogo dei requisiti
La tabella seguente elenca tutti i requisiti correnti per la conformità UEFI come definito nella specifica UEFI (sezione 2.6 della specifica UEFI 2.3.1). In questa tabella il termine Requisito esplicito di Windows identifica qualsiasi protocollo o servizio chiamato direttamente da un componente Windows. Anche se solo questi servizi vengono usati in modo esplicito da Windows, altri servizi e protocolli elencati possono essere implicitamente o esplicitamente richiesti da un'implementazione del firmware principale, i driver di dispositivo EFI o dalle catene di strumenti di sviluppo e distribuzione.
Microsoft accoglie i commenti e i commenti dei responsabili dell'implementazione in questo set di requisiti. Per eventuali requisiti di conformità UEFI che sono determinati a non essere richiesti dal sistema operativo o dal firmware, è nostra intenzione usare UEFI.org per avere questi requisiti di conformità rilassati per questa classe di dispositivo.
Per altre informazioni sui requisiti specifici, vedere le sezioni successive alla tabella.
Requisito | Sezione specifica UEFI | Note |
---|---|---|
Tabella di sistema EFI | 4.3 | Requisito esplicito di Windows |
Servizi di avvio EFI | 6.0 | |
Servizi eventi, timer e attività | 6.1 | |
Servizi di memoria | 6,2 | Requisito esplicito di Windows |
Servizi del gestore del protocollo | 6.3 | Requisito esplicito di Windows |
Servizi di immagine | 6.4 | Requisito esplicito di Windows |
Servizi vari | 6.5 | Requisito esplicito di Windows |
Servizi di runtime EFI | 7.0 | |
Servizi di tempo | 7.3 | Requisito esplicito di Windows |
Servizi variabili | 7.2 | Requisito esplicito di Windows |
Servizi vari | 7.5 | Requisito esplicito di Windows |
Protocolli UEFI necessari | ||
Protocollo immagine caricato da EFI | 8.1 | |
Protocollo del percorso del dispositivo immagine caricato da EFI | 8.2 | |
Protocollo di percorso del dispositivo EFI | 9.2 | Requisito esplicito di Windows |
Protocollo di utilità del percorso del dispositivo EFI | 9,5 | |
Protocollo di decompressione EFI | 18.5 | |
Protocollo di interprete EBC | 20.11 | |
Protocolli UEFI richiesti in modo condizionale | ||
Protocollo di input di testo semplice EFI | 11.3 | Requisito esplicito di Windows |
Protocollo EX di input di testo semplice EFI | 11.2 | |
Protocollo di output di testo semplice EFI | 11,4 | |
Protocollo di output della grafica EFI | 11.9 | Requisito esplicito di Windows |
Protocollo individuato da EFI EDID | 11.9.1 | |
Protocollo attivo EFI EDID | 11.9.1 | |
Protocollo I/O del blocco EFI | 12.8 | Requisito esplicito di Windows |
Protocollo I/O del disco EFI | 12.7 | |
Protocollo di file system semplice EFI | 12.4 | |
Protocollo di confronto Unicode EFI | 12.10 | |
Protocollo di rete semplice EFI | 21.1 | |
Protocollo di codice di base EFI PXE | 21.3 | |
Protocollo di integrità di avvio EFI | 21.5 | |
Protocollo I/O seriale EFI | 11.8 | |
Associazione UEFI Arm | 2.3.5 | Requisito esplicito di Windows |
Requisiti di sicurezza | ||
Avvio protetto | 27.0 | Requisito esplicito di Windows |
Requisiti di gestione avvio | 3.1, 3.3 | Requisito esplicito di Windows |
Requisiti della tabella di sistema EFI
La tabella di sistema EFI deve essere conforme alla definizione standard a livello di revisione implementata. La tabella di configurazione a cui fa riferimento la tabella di sistema EFI deve includere i due GUID e i puntatori associati descritti nella tabella seguente.
GUID | Descrizione |
---|---|
EFI_ACPI_Table GUID | Questo GUID deve puntare al puntatore descrizione sistema radice ACPI (RSDP) per la piattaforma. |
SMBIOS_Table GUID | Questo GUID deve puntare alla struttura del punto di ingresso SMBIOS. Windows richiede la specifica SMBIOS, a livello di revisione 2.4 o superiore. Le sezioni 3.2, "Strutture necessarie e dati" e 4, "Linee guida di conformità", sono necessarie. È disponibile un test di compatibilità di Windows SMBIOS. |
Requisiti dei servizi di avvio EFI
Nella tabella seguente sono elencati i requisiti dei servizi di avvio EFI per Windows.
Servizio di avvio EFI | Requisito |
---|---|
Servizi di memoria | Windows richiede tutti i servizi di memoria. |
Servizi del gestore del protocollo | Windows richiede i servizi del gestore del protocollo seguenti: OpenProtocol() CloseProtocol() LocateDevicePath() LocateHandle() |
Servizi di immagine | Windows richiede i servizi di immagine seguenti: ExitBootServices() |
Servizi di avvio vari | Windows richiede i servizi di avvio vari seguenti: Stall() Nota: L'implementazione stall() è necessaria per avere un errore deterministico (ripetibile) in modo che sia possibile eseguire in modo affidabile la correzione o l'annullamento degli errori. |
Requisiti dei servizi di runtime EFI
Nella tabella seguente sono elencati i requisiti dei servizi di runtime EFI per Windows.
Servizio runtime EFI | Requisito |
---|---|
Servizi di tempo | Windows richiede i servizi di ora seguenti: GetTime() SetTime() Nota: I servizi di ora verranno chiamati solo durante l'avvio (prima di ExitBootServices()) per l'accesso all'hardware della piattaforma. |
Servizi variabili | Tutti i servizi variabili UEFI sono necessari per gestire più dispositivi di avvio e variabili di sicurezza nella classe di destinazione dei sistemi. |
Servizi di runtime vari | Windows richiede i servizi di runtime vari seguenti: ResetSystem() Nota: L'implementazione resetSystem() deve supportare sia le opzioni di reimpostazione che di arresto. |
Requisiti del protocollo
La tabella seguente descrive i protocolli UEFI richiesti da Windows per eseguire funzioni specifiche durante l'avvio.
Protocollo | Requisito |
---|---|
Protocollo di output grafico | Windows richiede il protocollo di output della grafica (GOP). I requisiti specifici del buffer dei frame sono: Per le visualizzazioni integrate, HorizontalResolution e VerticalResoluton devono essere la risoluzione nativa del pannello. Per gli schermi esterni, HorizontalResolution e VerticalResoluton devono essere la risoluzione nativa dello schermo oppure, se non è supportato, i valori più alti supportati sia dalla scheda video che dalla visualizzazione connessa. PixelPerScanLine deve essere uguale a HorizontalResolution. PixelFormat deve essere PixelBlueGreenRedReserved8BitPerColor. È necessario un buffer di frame fisico; PixelBltOnly non è supportato. Quando l'esecuzione viene distribuita a un'applicazione di avvio UEFI, la gestione dell'avvio del firmware e il firmware non devono usare il buffer frame per qualsiasi scopo. Il buffer dei frame deve continuare a essere analizzato dopo l'uscita dei servizi di avvio. |
Output di visualizzazione alternativo | Il firmware UEFI deve supportare l'avvio usando qualsiasi connettore di visualizzazione supportato dall'hardware. Se un pannello interno è connesso e visibile, è necessario usare il pannello interno. Tutti gli output connessi fisicamente devono visualizzare la schermata di avvio. Per le visualizzazioni connesse, il firmware UEFI deve: Inizializzare l'output con la modalità nativa della visualizzazione, se è possibile determinare la risoluzione nativa. Se non è possibile una modalità nativa, è necessario inizializzare la modalità più alta compatibile. Se le funzionalità di visualizzazione non possono essere determinate, la visualizzazione connessa deve essere inizializzata in una modalità nota per essere compatibile con il maggior numero possibile di monitor (in genere 640x480 o 1024x768, a 60 Hz). |
Input in fase di avvio | Il protocollo di input di testo semplice EFI è necessario per effettuare scelte di avvio o altre selezioni di menu nei sistemi con tastiere predefinite o tastiere associate. Per i sistemi senza tastiera, sono consigliati tre pulsanti nell'ambiente di avvio: Pulsante Avvia Pulsante Su volume Pulsante Volume Giù I pulsanti devono essere segnalati tramite il protocollo di input di testo semplice EFI mappandoli rispettivamente ai tasti di tastiera seguenti: Tasto WINDOWS Tasto freccia su Tasto freccia giù |
Avvio dell'archiviazione locale | Windows richiede il supporto di Block I/O Protocol e Device Path Protocol per la soluzione di archiviazione che contiene la partizione di sistema EFI e la partizione del sistema operativo Windows. Per l'avvio dall'archiviazione flash che richiede la gestione a livello di usura o di altro tipo flash, questa operazione deve essere implementata nel firmware (non in un'applicazione UEFI). |
Requisiti di sicurezza
Windows ha requisiti di sicurezza nelle aree di avvio sicuro, avvio misurato, crittografia e protezione dei dati. Questi requisiti sono dettagliati nella tabella seguente. Inoltre, per tali aree in cui l'hardware SoC impedisce la conformità con lo standard esistente (TPM, RTC e così via), vengono sviluppati requisiti aggiuntivi. Queste sono descritte alla fine della tabella.
Area | Requisito |
---|---|
Generale |
|
Avvio sicuro UEFI |
|
Avvio misurato UEFI | I requisiti seguenti non implicano la necessità di un'implementazione TPM TCG; implicano tuttavia una necessità di funzionalità equivalenti per le aree interessate. Il supporto della piattaforma può essere fornito da un'implementazione del firmware di un TPM in esecuzione nell'ambiente di esecuzione sicura, a livelli sopra il motore di accelerazione crittografica e sfruttando l'archiviazione isolata. Microsoft potrebbe essere in grado di fornire software di riferimento per un'implementazione TPM di questo tipo per l'uso da parte del fornitore. Questo è soggetto a ulteriori discussioni.
|
Crittografia |
|
Protezione dei dati |
|
Altri requisiti di sicurezza | Per le piattaforme SoC sono necessari i requisiti aggiuntivi seguenti.
|
Requisiti di gestione avvio del firmware
La gestione avvio del firmware deve supportare il comportamento di avvio predefinito definito nella sezione 3.3 della specifica. Inoltre, per il supporto di variabili multiavvio, definite a livello globale e i requisiti di Boot Manager della sezione 3.1 della specifica sono necessari.
Requisiti di associazione UEFI Arm
L'associazione UEFI Arm include requisiti specifici della piattaforma Arm necessaria per essere conformi alle specifiche UEFI. Windows richiede tutto nell'associazione Arm applicabile ad ARMv7. Poiché Windows non supporta nulla precedente a ARMv7, i requisiti nell'associazione specifici di ARMv6k e seguenti sono facoltativi.
L'associazione specifica, ad esempio, la modalità di configurazione dell'MMU e la modalità di mapping della memoria fisica. L'associazione specifica anche che le chiamate effettuate ai protocolli e ai servizi UEFI devono essere eseguite solo nell'ISA arm, il che significa che il software in esecuzione in Thumb2 o Thumb deve tornare alla modalità Arm prima di chiamare le funzioni UEFI.
Requisiti di avvio del multiprocessore UEFI Arm
Microsoft ha sviluppato un protocollo per l'avvio di più core arm in una piattaforma UEFI multiprocessore. Questo protocollo è richiesto da Windows nelle piattaforme Arm che non supportano l'interfaccia di coordinamento di Power State (PSCI). Le piattaforme che supportano PSCI non devono usare questo protocollo. Per altre informazioni su questo protocollo, vedere il documento avvio multiprocessore sulle piattaforme basate su ARM UEFI nel sito Web ACPI Component Architecture (ACPICA).
Requisiti di configurazione della piattaforma
Il firmware è responsabile dell'inserimento dell'hardware di sistema in uno stato ben definito prima di passare al caricatore del sistema operativo. La tabella seguente definisce i requisiti di configurazione della piattaforma correlati.
Requisito | Descrizione |
---|---|
Percorso di avvio | Il firmware deve inizializzare la piattaforma al punto in cui Windows è in grado di accedere al dispositivo di avvio tramite UEFI e caricare il kernel. Qualsiasi dispositivo coinvolto nella gerarchia da leggere dal dispositivo di avvio deve essere orologio e alimentato a una velocità ragionevole, in base alle prestazioni e alle considerazioni sulla potenza. Il core del processore di base deve anche essere orologio e alimentato a una velocità ragionevole, in modo che il sistema possa avviare in modo tempestivo senza svuotare la batteria. |
Risorse di sistema principali | Le risorse di sistema di base esposte al sistema operativo tramite tabelle ACPI devono essere basate e orologiate. Le risorse di sistema principali includono controller di interruzione, timer e controller DMA che devono essere gestiti dal sistema operativo. Inoltre, gli interruzioni devono essere mascherati dalla chiamata a ExitBootServices() fino a quando il driver di dispositivo associato nel sistema operativo annulla il mascheramento e riabilita gli interruzioni nel dispositivo. Se gli interruzioni vengono abilitati durante i servizi di avvio, si presuppone che il firmware li gestisca. |
Debug | Windows supporta il debug tramite HOST USB 3 (XHCI), USB 2 Host (EHCI)1, IEEE 1394, interfacce di funzione seriali e USB (nonché schede ethernet PCI). Almeno uno di questi deve essere alimentato, orologio e inizializzato dal firmware prima dell'handoff del sistema operativo. A seconda delle opzioni fornite, deve avere una porta esposta a scopo di debug e il controller deve essere mappato alla memoria o essere connesso tramite un bus di periferica dedicato (non condiviso). |
Altri requisiti di configurazione della piattaforma | Qualsiasi configurazione del pin-multiplexing e pad deve essere completata nel firmware prima di assegnare il controllo al caricatore del sistema operativo. |
Requisiti di installazione
Windows richiede che la partizione del sistema operativo si trovi in una soluzione di archiviazione partizionata GPT. L'archiviazione partizionata MBR può essere usata come archiviazione dati. Come definito nella specifica UEFI, una piattaforma UEFI richiede una partizione di sistema dedicata. Windows richiede questa partizione di sistema dedicata, denominata partizione di sistema EFI (ESP).
Requisiti di Hardware Security Test Interface (HSTI)
La piattaforma deve implementare l'interfaccia di test della sicurezza hardware e la piattaforma è necessaria per condividere documentazione e strumenti come specificato nella Specifica di testbilità della sicurezza hardware.
Articoli correlati
Requisiti UEFI minimi per le piattaforme Windows in SoC