Newer
Older
AMI-Aptio-BIOS-Reversed / ProcessorErrorHandler / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Init

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

Platform

Intel Purley (Skylake-SP Xeon), HR650X
Source: PurleyPlatPkg/Ras/Smm/ErrHandling/ProcessorErrorHandler/