Registri 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 e ripristino degli errori hardware basati sullo stesso formato di record di errore.
Il formato dei record di errore usati da WHEA si basa sul
Il diagramma seguente mostra 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 aggiuntivo nel buffer per consentire l'aggiunta dinamica di sezioni e descrittori di sezioni del record di errore. Lo spazio aggiuntivo del buffer 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 WHEA_ERROR_RECORD_HEADER e i descrittori di sezione dei record di errore sono descritti da una struttura di 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 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 generico del processore
Questa sezione del record di errore contiene i dati relativi agli errori del processore che non sono specifici di una particolare architettura del processore. 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.
errore del processore Itanium
Questa sezione del record di errore contiene dati di errore specifici dell'architettura del processore Itanium. Per ulteriori informazioni sul formato dei dati di errore contenuti in questa sezione relativa al record di errore, vedere la Intel Itanium Processor Family System Abstraction Layer Specification.
Riferimento al registro di errore 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 relativa al record di errore è descritta da una struttura 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.
interruzione non mascherabile
Questa sezione del record di errore contiene dati NMI (interrupt non mascherabile). I dati contenuti in questa sezione sono descritti dalla struttura WHEA_NMI_ERROR_SECTION.
Errore di 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 degli 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 altri dati di errore hardware che non rientrano in uno dei tipi di sezione nell'elenco precedente, è possibile definire una sezione relativa al record di errore specifico 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 quel 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 definita del record di errore specifico della piattaforma, viene usata una sezione record di errore generica per contenere i dati.