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

EmcaErrorLog

Index: 0214
Size: 160,004 bytes (27104h)
Phase: SMM (DXE_SMM_DRIVER)
Source Package: CpPlatPkg (Enhanced Machine Check Architecture Error Log)

Overview

SMM-based Enhanced Machine Check Architecture (EMCA) error logging driver. Handles processor machine check error events within SMM context, providing firmware-first error handling for corrected and uncorrected machine check errors. The largest driver in this batch at 160KB, with a massive .data section (137KB) containing error translation tables, platform error descriptors, and CPER (Common Platform Error Record) templates. Coordinates with the WHEA infrastructure (WheaElog/WheaPlatformBoot) for OS-level error reporting.

Key Functions

  • ModuleEntryPoint -- Main entry: calls sub_37E0 init, then sub_3C58 for EMCA error log setup
  • sub_37E0 -- EMCA error log initialization: prepares error logging infrastructure and data tables
  • sub_3C58 -- Core EMCA error handling: registers SMI handler for machine check events
  • sub_3BE8 -- Error path cleanup handler called when initialization fails

Protocols

  • EFI_SMM_SYSTEM_TABLE2 for SMM services
  • EFI_SMM_BASE2_PROTOCOL
  • Machine Check Architecture (MCA) MSR access protocol
  • CPER (Common Platform Error Record) reporting protocol
  • WHEA error notification protocol

Platform

HR650X (Purley), built from CpPlatPkg, DEBUG VS2015 X64