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

PlatformErrorHandler

Index: 0217 | Size: 44,388 bytes (177,536 body) | Phase: DXE/SMM

Overview

SMM platform error handler for the Intel Purley platform, responsible for RAS (Reliability, Availability, Serviceability) error management. Initializes EMCA (Enhanced Machine Check Architecture) platform hooks, populates RAS topology structures (SMBIOS Type 16/17), configures FPGA error handling policies from UEFI setup variables, registers SMM software dispatch callbacks for error notification, and manages per-socket error tracking via linked callbacks.

Key Functions

  • ModuleEntryPoint (_ModuleEntryPoint) -- DXE/SMM entry, calls constructor dispatcher then main init
  • PlatformErrorHandlerConstructors (sub_30D8) -- recovered alias for library constructor path
  • RegisterPlatformErrorHandler (sub_3550) -- recovered alias for main init (calls core logic at sub_3970)
  • sub_3970 -- Core logic: reads RAS topology, applies error policy from setup, initializes EMCA platform hooks
  • PlatformErrorHandlerFallbackInit (sub_34E0) -- recovered alias for error-path init helper
  • PlatformErrorHandlerSmmEntry (sub_594) -- recovered alias for secondary SMM path
  • DispatchNotification (sub_3810) / DispatchWithEarlyOut (sub_3844) -- callback dispatch helpers
  • RegisterErrorNotificationCallback (sub_36B8) -- priority-sorted callback registration
  • RegisterErrorSource (sub_35C8) -- source-registration linked list insertion

Protocols/Dependencies

  • EMCA Platform Protocol ({F4CCBFB7-...}), SMM MC Bank Protocol
  • SMM IPMI Transport Protocol, SMM Variable Protocol
  • SMM SW Dispatch2 Protocol, FPGA Configuration HOB

Platform

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