Windows Hardware Error Architecture

{{Short description|Hardware error handling mechanism}}

{{primary sources|date=January 2016}}

{{Outdated|date=February 2025}}

Windows Hardware Error Architecture (WHEA) is an operating system hardware error handling mechanism introduced with Windows Vista SP1 and Windows Server 2008 as a successor to Machine Check Architecture (MCA) on previous versions of Windows.{{cite web|title=Windows Hardware Error Architecture (WHEA) design guide|url=https://docs.microsoft.com/en-us/windows-hardware/drivers/whea/|website=Microsoft Docs|date=14 March 2023 }} The architecture consists of several software components that interact with the hardware and firmware of a given platform to handle and notify regarding hardware error conditions.{{cite web|title=Components of the Windows Hardware Error Architecture|url=https://docs.microsoft.com/en-us/windows-hardware/drivers/whea/components-of-the-windows-hardware-error-architecture|website=Microsoft Docs|date=14 March 2023 }} Collectively, these components provide: a generic means of discovering errors, a common error report format for those errors, a way of preserving error records, and an error event model based up on Event Tracing for Windows (ETW).{{cite web|title=Introduction to the Windows Hardware Error Architecture|url=https://docs.microsoft.com/en-us/windows-hardware/drivers/whea/introduction-to-the-windows-hardware-error-architecture|website=Microsoft Docs|date=14 March 2023 }}

WHEA "builds on the PCI Express Advanced Reporting to provide more detailed information about system errors and a common reporting structure."{{cite book|last=Sosinsky|first=Barrie|title=Microsoft Windows Server 2008: Implementation and Administration|publisher=John Wiley & Sons|date=2008|page=11|isbn=978-0470174593}}

WHEA allows third-party software to interact with the operating system and react to certain hardware events. For example, when a new CPU is added to a running system—a Windows Server feature known as Dynamic Hardware Partitioning—the hardware error component stack is notified that a new processor was installed.{{cite book|author1=Mark E. Russinovich|author2=David A. Solomon|author3=Alex Ionescu|title=Windows® Internals|edition=Fifth|date=2009|page=441|publisher=Microsoft Press |isbn=978-0735625303}}

In contrast, Linux supports the ACPI Platform Error Interface (APEI) which is introduced in ACPI 5.0.{{Cite web|title=APEI Error INJection — The Linux Kernel documentation|url=https://www.kernel.org/doc/html/latest/firmware-guide/acpi/apei/einj.html|access-date=2020-12-17|website=www.kernel.org}}

See also

References