Newer
Older
AMI-Aptio-BIOS-Reversed / CpPlatPkg / Whea / WheaErrorLog / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Full restructure

WheaErrorLog

Index: 0226 | Size: 38,368 bytes (153,472 body) | Phase: SMM

Overview

SMM WHEA (Windows Hardware Error Architecture) error logging driver for Intel Purley platform. Initializes WHEA error record storage in SMRAM, registers SMI handlers for error record update and notification callbacks, and interfaces with platform MP sync data and PCIe MM config space. Acts as the SMM-side counterpart to DXE WHEA infrastructure, providing persistent error record buffers across SMI entries. Processes CPER error data from 5 WHEA error source GUID types (Corrected Machine Check, Recoverable, PCIe Corrected, Fatal/Non-Maskable, Corrected Machine Check variant).

Key Functions

  • _ModuleEntryPoint -- DXE/SMM entry: constructor chain (14 init functions), main init
  • sub_26F4 -- Main protocol installation: locates all protocols, registers SMI handlers
  • sub_2C04 -- Core WHEA error handler: processes error records, matches to error status blocks
  • sub_2688/sub_2664 -- SMI handlers for SwSmi 157/158: enable/disable WHEA logging
  • sub_1F04 -- Error record classification: determines subtype, translates IDs via lookup table
  • sub_26AC -- Find error status block by severity level
  • sub_13B0 -- MP sync data table init: per-CPU structures for up to 512 CPUs

Protocols/Dependencies

  • EFI_SMM_BASE2_PROTOCOL, EFI_SMM_CPU_PROTOCOL, EFI_SMM_SW_DISPATCH2
  • WHEA Boot Protocol, MP Service Protocol, PCD Protocol
  • MM PCI Root Bridge Protocol, SMM Access Protocol

Platform

Intel Purley (Skylake-SP Xeon), HR650X
Source: PurleyPlatPkg/Ras/Whea/WheaErrorLog/