Partager via


Enregistrements d’erreurs

L’architecture d’erreur matérielle Windows (WHEA) utilise un format d’enregistrement d’erreur standard pour représenter toutes les erreurs matérielles de la plateforme. Par conséquent, le microprogramme système, le système d’exploitation Windows et les applications en mode utilisateur peuvent concevoir des mécanismes de rapport et de récupération des erreurs matérielles qui sont tous basés sur le même format d’enregistrement d’erreurs.

Le format des enregistrements d’erreurs utilisés par WHEA est basé sur le Common Platform Error Record (CPER) comme décrit à l’Annexe N de la version 2.2 de la spécification UEFI (Unified Extensible Firmware Interface).

Le diagramme suivant montre le format général d’un enregistrement d’erreur.

diagramme illustrant le format général d’un enregistrement d’erreur.

Un enregistrement d’erreur se compose d’un en-tête d’enregistrement d’erreur suivi d’un ou plusieurs descripteurs de section d’enregistrement d’erreur de longueur fixe. Pour chaque descripteur de section d’enregistrement d’erreur, il existe une section d’enregistrement d’erreur de longueur variable associée qui contient des données d’erreur ou des données d’information. Un enregistrement d’erreur doit contenir au moins une section d’enregistrement d’erreur.

Un enregistrement d’erreur peut inclure un espace tampon supplémentaire pour l’ajout dynamique de sections d’enregistrement d’erreurs et de descripteurs de section. L’espace tampon supplémentaire peut également être utilisé pour augmenter dynamiquement la taille des sections d’enregistrement d’erreurs existantes.

Un enregistrement d’erreur est décrit par une structure WHEA_ERROR_RECORD , l’en-tête de l’enregistrement d’erreur est décrit par une structure de WHEA_ERROR_RECORD_HEADER et les descripteurs de section d’enregistrement d’erreur sont chacun décrits par une structure WHEA_ERROR_RECORD_SECTION_DESCRIPTOR .

Chaque section d’enregistrement d’erreur peut être l’un des types de section suivants :

Paquet d’erreur matérielle
Cette section d’enregistrement d’erreur contient le paquet d’erreur matérielle qui a été transmis au système d’exploitation par le gestionnaire d’erreurs matérielles de bas niveau (LLHEH) qui a signalé l’erreur. Les données contenues dans cette section sont décrites par la structure WHEA_ERROR_PACKET .

Erreur du processeur générique
Cette section d’enregistrement d’erreurs contient des données d’erreur du processeur qui ne sont pas spécifiques à une architecture de processeur particulière. Les données contenues dans cette section sont décrites par la structure WHEA_PROCESSOR_GENERIC_ERROR_SECTION .

Erreur du processeur x86/x64
Cette section d’enregistrement d’erreurs contient des données d’erreur de processeur spécifiques à l’architecture du processeur x86 ou x64. Les données contenues dans cette section sont décrites par la structure WHEA_XPF_PROCESSOR_ERROR_SECTION. Le diagramme suivant montre comment les structures de données qui contiennent les données d’erreur du processeur sont stockées dans le membre VariableInfo.

Données d’erreur du processeur.

Erreur du processeur Itanium
Cette section d’enregistrement d’erreurs contient des données d’erreur de processeur spécifiques à l’architecture du processeur Itanium. Pour plus d’informations sur le format des données d’erreur contenues dans cette section d’enregistrement d’erreur, consultez spécification de la couche d’abstraction du système de processeurs Intel Itanium.

Informations de référence sur l’enregistrement d’erreur du microprogramme du processeur Itanium
Cette section d’enregistrement d’erreurs contient une référence à un enregistrement d’erreur de microprogramme spécifique à l’architecture du processeur Itanium. Cette section d’enregistrement d’erreur est décrite par une structure WHEA_FIRMWARE_ERROR_RECORD_REFERENCE .

Erreur de mémoire de la plateforme
Cette section d’enregistrement d’erreurs contient des données d’erreur de mémoire de plateforme. Les données contenues dans cette section sont décrites par la structure WHEA_MEMORY_ERROR_SECTION .

Interruption non masquable
Cette section d’enregistrement d’erreur contient des données d’interruption non masquables (NMI). Les données contenues dans cette section sont décrites par la structure WHEA_NMI_ERROR_SECTION .

Erreur PCI Express
Cette section d’enregistrement d’erreur contient des données d’erreur PCI Express. Les données contenues dans cette section sont décrites par la structure WHEA_PCIEXPRESS_ERROR_SECTION .

Erreur de bus PCI/PCI-X
Cette section d’enregistrement d’erreur contient des données d’erreur de bus PCI/PCI-X. Les données contenues dans cette section sont décrites par la structure WHEA_PCIXBUS_ERROR_SECTION.

Erreur d’appareil PCI/PCI-X
Cette section d’enregistrement d’erreur contient des données d’erreur d’appareil PCI/PCI-X. Les données contenues dans cette section sont décrites par la structure WHEA_PCIXDEVICE_ERROR_SECTION .

Pour les données d’erreur matérielle supplémentaires qui ne correspondent pas à l’un des types de section de la liste précédente, une section d’enregistrement d’erreur spécifique à la plateforme peut être définie pour contenir les données. Pour chaque type de section d’enregistrement d’erreur spécifique à la plateforme qui est défini, un GUID correspondant qui identifie le type de la section d’enregistrement d’erreur doit être défini. Ce GUID est spécifié dans le membre SectionType de toute structure WHEA_ERROR_RECORD_SECTION_DESCRIPTOR qui décrit ce type d’enregistrement d’erreur.

S’il existe des données d’erreur matérielle supplémentaires qui ne correspondent pas à l’un des types de section de la liste précédente ou à une section d’enregistrement d’erreur spécifique à la plateforme définie, une section d’enregistrement d’erreur générique est utilisée pour contenir les données.