Condividi tramite


Record di errore

L'architettura degli errori hardware di Windows (WHEA) usa un formato di record di errore standard per rappresentare tutti gli errori hardware della piattaforma. Di conseguenza, il firmware di sistema, il sistema operativo Windows e le applicazioni in modalità utente possono progettare meccanismi di segnalazione degli errori hardware e ripristino basati sullo stesso formato di record di errore.

Il formato dei record di errore usati da WHEA si basa sul record di errori della piattaforma comune (CPER), come descritto nell'Appendice N della versione 2.2 della specifica UEFI (Unified Extensible Firmware Interface).

Il diagramma seguente illustra il formato generale di un record di errore.

diagramma che illustra il formato generale di un record di errore.

Un record di errore è costituito da un'intestazione del record di errore seguita da uno o più descrittori di sezione del record di errore a lunghezza fissa. Per ogni descrittore di sezione del record di errore è presente una sezione del record di errore a lunghezza variabile associata che contiene dati di errore o dati informativi. Un record di errore deve contenere almeno una sezione del record di errore.

Un record di errore può includere spazio del buffer aggiuntivo per l'aggiunta dinamica di sezioni del record di errore e descrittori di sezione. Lo spazio del buffer aggiuntivo può essere usato anche per aumentare dinamicamente le dimensioni delle sezioni dei record di errore esistenti.

Un record di errore viene descritto da una struttura di WHEA_ERROR_RECORD , l'intestazione del record di errore viene descritta da una struttura di WHEA_ERROR_RECORD_HEADER e i descrittori di sezione del record di errore sono ognuno descritto da una struttura WHEA_ERROR_RECORD_SECTION_DESCRIPTOR .

Ogni sezione del record di errore può essere uno dei tipi di sezione seguenti:

Pacchetto di errore hardware
Questa sezione del record di errore contiene il pacchetto di errore hardware passato al sistema operativo dal gestore di errori hardware di basso livello (LLHEH) che ha segnalato l'errore. I dati contenuti in questa sezione sono descritti dalla struttura WHEA_ERROR_PACKET .

Errore del processore generico
Questa sezione del record di errore contiene i dati relativi agli errori del processore che non sono specifici di un'architettura del processore specifica. I dati contenuti in questa sezione sono descritti dalla struttura WHEA_PROCESSOR_GENERIC_ERROR_SECTION .

Errore del processore x86/x64
Questa sezione del record di errore contiene i dati relativi agli errori del processore specifici dell'architettura del processore x86 o x64. I dati contenuti in questa sezione sono descritti dalla struttura WHEA_XPF_PROCESSOR_ERROR_SECTION . Il diagramma seguente mostra come le strutture di dati che contengono i dati degli errori del processore vengono archiviate nel membro VariableInfo.

Dati di errore del processore.

Errore del processore Itanium
Questa sezione relativa al record di errore contiene i dati relativi agli errori del processore Itanium specifici dell'architettura del processore Itanium. Per altre informazioni sul formato dei dati di errore contenuti in questa sezione del record di errore, vedere la specifica del livello di astrazione del sistema di astrazione del sistema processore Intel Itanium.

Informazioni di riferimento sul record degli errori del firmware del processore Itanium
Questa sezione del record di errore contiene un riferimento a un record di errore del firmware specifico per l'architettura del processore Itanium. Questa sezione del record di errore è descritta da una struttura di WHEA_FIRMWARE_ERROR_RECORD_REFERENCE .

Errore di memoria della piattaforma
Questa sezione del record di errore contiene i dati degli errori di memoria della piattaforma. I dati contenuti in questa sezione sono descritti dalla struttura WHEA_MEMORY_ERROR_SECTION .

Interrupt non mascherabile
Questa sezione relativa al record di errore contiene dati di interrupt non mascherabili (NMI). I dati contenuti in questa sezione sono descritti dalla struttura WHEA_NMI_ERROR_SECTION .

Errore PCI Express
Questa sezione del record di errore contiene i dati sugli errori PCI Express. I dati contenuti in questa sezione sono descritti dalla struttura WHEA_PCIEXPRESS_ERROR_SECTION .

Errore del bus PCI/PCI-X
Questa sezione del record di errore contiene i dati sugli errori del bus PCI/PCI-X. I dati contenuti in questa sezione sono descritti dalla struttura WHEA_PCIXBUS_ERROR_SECTION .

Errore del dispositivo PCI/PCI-X
Questa sezione del record di errore contiene i dati di errore del dispositivo PCI/PCI-X. I dati contenuti in questa sezione sono descritti dalla struttura WHEA_PCIXDEVICE_ERROR_SECTION .

Per ulteriori dati di errore hardware che non rientrano in uno dei tipi di sezione dell'elenco precedente, è possibile definire una sezione relativa ai record di errore specifici della piattaforma per contenere i dati. Per ogni tipo di sezione del record di errore specifica della piattaforma definita, è necessario definire un GUID corrispondente che identifica il tipo della sezione del record di errore. Questo GUID viene specificato nel membro SectionType di qualsiasi struttura WHEA_ERROR_RECORD_SECTION_DESCRIPTOR che descrive tale tipo di sezione del record di errore.

Se sono presenti dati di errore hardware aggiuntivi che non rientrano in uno dei tipi di sezione dell'elenco precedente o in una sezione di record di errore specifica della piattaforma definita, viene usata una sezione del record di errore generico per contenere i dati.