AMI-Aptio-BIOS-Reversed / PurleyPlatPkg / Ras / Smm / ErrHandling / PcieErrorHandler /
@Ajax Dong Ajax Dong authored 7 days ago
..
PcieErrorHandler.c Recovering names 7 days ago
PcieErrorHandler.h Recovering names 7 days ago
PcieErrorHandler.md Recovering names 7 days ago
README.md Recovering names 7 days ago
README.md

PcieErrorHandler

Index: 0224 | Size: 50,656 bytes (202,624 body) | Phase: SMM

Overview

SMM PCI Express error handler for the Intel Purley platform. Manages PCIe Advanced Error Reporting (AER), PCIe component/device error detection and logging, and root port error handling. Initializes through AutoGen library constructors then registers SMM error handling callbacks for PCIe bus error events. Interfaces with the platform RAS infrastructure to log PCIe errors and communicate with BMC.

Key Functions

  • ModuleEntryPoint -- SMM entry point: initializes PCIe handlers with recovered entry-flow helpers.
  • PcieErrorHandlerInitLibraries -- Recovered constructor/bootstrap helper: initializes library globals (gST, gBS, gRT, gSmst).
  • RegisterPcieErrorHandler -- Main initialization routine: locates PCIe-related protocols and registers SMI handlers.
  • PcieErrorHandlerInitFailure -- Initialization failure fallback helper for cleanup/error-path handling.

Recovered Symbol Mapping

  • 0x7958 -> PcieErrorHandlerInitLibraries
  • 0x7E70 -> RegisterPcieErrorHandler
  • 0x7E00 -> PcieErrorHandlerInitFailure

Module/File Split Notes

  • PcieErrorHandler.c currently contains only ModuleEntryPoint and the recovered call-chain to the two helper routines.
  • PcieErrorHandler.h declares the recovered public entry and helper symbols.
  • PcieErrorHandler.md documents the recovered symbol mapping and function-level recovery intent.

Protocols/Dependencies

  • UEFI Boot Services, Runtime Services, SMM System Table (gSmst)
  • EFI_SMM_BASE2_PROTOCOL, EFI_SMM_SW_DISPATCH2_PROTOCOL
  • IIO Protocol, MM PCI Base Protocol for PCIe config space access

Platform

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