Поделиться через


Записи об ошибках

Архитектура аппаратных ошибок Windows (WHEA) использует стандартный формат записи ошибок для представления всех ошибок оборудования платформы. В результате встроенное ПО системы, операционная система Windows и приложения в пользовательском режиме могут разрабатывать аппаратные механизмы создания отчетов об ошибках и восстановления, основанные на одном формате записей ошибок.

Формат записей об ошибках, используемых WHEA, основан на общей записи ошибок платформы (CPER), как описано в приложении N версии 2.2 спецификации унифицированного расширяемого интерфейса встроенного ПО (UEFI).

На следующей схеме показан общий формат записи об ошибке.

схема, иллюстрирующая общий формат записи об ошибке.

Запись об ошибке состоит из заголовка записи об ошибке, за которым следует один или несколько дескрипторов раздела об ошибках фиксированной длины. Для каждого дескриптора раздела записи об ошибке существует связанный раздел записи ошибок переменной длины, который содержит либо данные об ошибках, либо информационные данные. Запись об ошибке должна содержать по крайней мере один раздел записи об ошибке.

Запись об ошибке может включать дополнительное буферное пространство для динамического добавления разделов записей ошибок и дескрипторов разделов. Дополнительное буферное пространство также можно использовать для динамического увеличения размера существующих разделов записей ошибок.

Запись об ошибке описывается структурой WHEA_ERROR_RECORD , заголовок записи об ошибке описывается структурой WHEA_ERROR_RECORD_HEADER , а дескрипторы разделов об ошибках описываются WHEA_ERROR_RECORD_SECTION_DESCRIPTOR структурой.

Каждый раздел записи об ошибке может иметь один из следующих типов разделов:

Пакет ошибок оборудования
В этом разделе содержится пакет ошибок оборудования, переданный операционной системе обработчиком ошибок низкого уровня (LLHEH), который сообщил об ошибке. Данные, содержащиеся в этом разделе, описываются структурой WHEA_ERROR_PACKET .

Ошибка универсального процессора
Этот раздел записи об ошибках содержит данные об ошибках процессора, которые не относятся к определенной архитектуре процессора. Данные, содержащиеся в этом разделе, описываются структурой WHEA_PROCESSOR_GENERIC_ERROR_SECTION .

Ошибка процессора x86/x64
Этот раздел записи об ошибках содержит данные об ошибках процессора, относящиеся к архитектуре процессора x86 или x64. Данные, содержащиеся в этом разделе, описываются структурой WHEA_XPF_PROCESSOR_ERROR_SECTION . На следующей схеме показано, как структуры данных, содержащие данные об ошибках процессора, хранятся в элементе VariableInfo.

Данные об ошибках процессора.

Ошибка процессора Itanium
Этот раздел записи об ошибках содержит данные об ошибках процессора, относящиеся к архитектуре процессора Itanium. Дополнительные сведения о формате данных об ошибках, содержащихся в этой записи об ошибках, см. в разделе Intel Itanium Processor Family System Abstraction Layer Specification.

Справочник по записям об ошибках встроенного ПО процессора Itanium
В этом разделе содержится ссылка на запись об ошибке встроенного ПО, относящееся к архитектуре процессора Itanium. Этот раздел записи об ошибках описывается структурой WHEA_FIRMWARE_ERROR_RECORD_REFERENCE .

Ошибка памяти платформы
Этот раздел записи об ошибках содержит данные об ошибках памяти платформы. Данные, содержащиеся в этом разделе, описываются структурой WHEA_MEMORY_ERROR_SECTION .

Немаскируемое прерывание
Этот раздел записи об ошибке содержит данные немаскируемых прерываний (NMI). Данные, содержащиеся в этом разделе, описываются структурой WHEA_NMI_ERROR_SECTION .

Ошибка PCI Express
Этот раздел записи об ошибках содержит данные об ошибках PCI Express. Данные, содержащиеся в этом разделе, описываются структурой WHEA_PCIEXPRESS_ERROR_SECTION .

Ошибка шины PCI/PCI-X
Этот раздел записи об ошибках содержит данные об ошибках шины PCI/PCI-X. Данные, содержащиеся в этом разделе, описываются структурой WHEA_PCIXBUS_ERROR_SECTION .

Ошибка устройства PCI/PCI-X
Этот раздел записи об ошибках содержит данные об ошибках устройств PCI/PCI-X. Данные, содержащиеся в этом разделе, описываются структурой WHEA_PCIXDEVICE_ERROR_SECTION .

Для дополнительных данных об ошибках оборудования, которые не помещаются в один из типов разделов в предыдущем списке, можно определить раздел записи об ошибках для конкретной платформы, содержащий эти данные. Для каждого определенного типа определенного для платформы раздела записи ошибок должен быть определен соответствующий ИДЕНТИФИКАТОР GUID, определяющий тип раздела записи об ошибке. Этот GUID указывается в элементе SectionType любой WHEA_ERROR_RECORD_SECTION_DESCRIPTOR структуры, описывающей этот тип раздела записи об ошибке.

При наличии дополнительных данных об ошибках оборудования, которые не помещаются в один из типов разделов в предыдущем списке или в определенный раздел записи об ошибках для конкретной платформы, для хранения данных используется универсальный раздел записи об ошибках.