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

PartialMirrorHandler

Index: 0215
Size: 147,876 bytes (241A4h)
Phase: SMM (DXE_SMM_DRIVER)
Source Package: CpPlatPkg (Memory Partial Mirroring Handler)

Overview

SMM-based memory partial mirroring handler for the Purley platform. Manages partial memory mirroring configurations where only a portion of system memory is mirrored for redundancy. Handles SMI events for memory error containment, mirroring configuration, and failover operations in partially mirrored memory topologies. Similar in size to EmcaErrorLog (148KB), with a very large .data section (135.8KB) containing memory address translation tables, mirror region descriptors, and sparing data structures for memory error handling.

Key Functions

  • ModuleEntryPoint -- Main entry: calls sub_1A30 init, then sub_1DBC for partial mirror setup
  • sub_1A30 -- Partial mirror handler initialization: prepares memory mirror address tables
  • sub_1DBC -- Core partial mirror management: registers SMI handler for mirror/failover events
  • sub_1D4C -- Error path cleanup handler called when initialization fails

Protocols

  • EFI_SMM_SYSTEM_TABLE2 for SMM services
  • Memory Range Map protocol for memory region identification
  • Partial Memory Mirror protocol for mirror configuration
  • Memory Sparing protocol for failover operations
  • Platform memory error notification protocol

Platform

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