ProcessorErrorHandler
Index: 0218 | Size: 57,988 bytes (228,480 body) | Phase: SMM
Overview
SMM driver for Intel Purley (Skylake-SP Xeon) processor error handling. Handles Machine Check Architecture (MCA) errors, memory error correction reporting, IIO (Integrated IO) error handling, VTD/ITC/OTC/DMA error logging, and Post-Package Repair (PPR) / Thermal Alert System (TAS) management. Registers SMM SW dispatch handlers for periodic error processing and MCA SMI handlers for per-CPU machine check events. Supports up to 4 sockets with per-socket MCA bank configuration.
Key Functions
- ModuleEntryPoint -- SMM entry point; initializes module, locates protocols, registers SMI handlers
- McaHandler -- MCA SMI handler: reads APIC ID, CPU topology, returns populated CpuInfo struct
- LogErrorEvent -- Central error logging dispatcher routing to domain-specific handlers
- LogMcBankErrors -- Iterates MCA banks, decodes MCi_STATUS/MSR, determines error severity
- LogMemError -- Full memory error reporting: decodes DIMM info, writes to lockbox
- ProcessIioErrors -- IIO error processing: checks VTD/ITC/OTC/DMA errors
- ConfigureMcBanks -- Per-socket MCA bank configuration enabling specific error types
Protocols/Dependencies
- EFI_SMM_CPU_PROTOCOL, SMM SW Dispatch2 Protocol, Configuration Protocol
- IOH/Iio Protocol, Platform Info Protocol, SMM LockBox
- Lenovo-specific NVRAM for PprAddress storage
Intel Purley (Skylake-SP Xeon), HR650X
Source: PurleyPlatPkg/Ras/Smm/ErrHandling/ProcessorErrorHandler/