Newer
Older
AMI-Aptio-BIOS-Reversed / PurleyPlatPkg / Acpi / DxeSmm / AcpiSmmPlatform / README.md
@Ajax Dong Ajax Dong 7 days ago 1 KB Recovering names

AcpiSmmPlatform

Index: 0213
Size: 34,916 bytes (8864h)
Phase: SMM (DXE_SMM_DRIVER)
Source Package: PurleyPlatPkg\Acpi\DxeSmm\AcpiSmm\AcpiSmmPlatform

Overview

SMM driver for platform-specific ACPI SMI handling on Purley-based systems. Manages ACPI power management SMI events including system sleep state transitions (S3/S4/S5), platform PM1/PM control register trapping, and ACPI fixed event routing. Installs SMI handlers for power button, sleep button, and other ACPI-defined events. Part of the PurleyPlatPkg ACPI DXE/SMM stack that coordinates ACPI event handling between DXE and SMM phases.

Key Functions

  • ModuleEntryPoint -- Main entry: calls InitializeSmmAcpiPlatform() then InitializeAcpiSmmPlatformHandlers()
  • InitializeSmmAcpiPlatform (sub_5E4) -- UEFI module pre-initialization; caches ImageHandle/SystemTable and table pointers
  • InitializeAcpiSmmPlatformHandlers (sub_C50) -- Core ACPI SMM platform initialization: registers PM1/SMI handlers
  • ReleaseSmmAcpiPlatformResources (sub_1F20) -- ACPI event notification/context cleanup callback
  • UnregisterSmmAcpiPlatformCallbacks (sub_360) -- ACPI event callback teardown/unregistration helper
  • SmmAcpiPlatformAssert (sub_223C) -- DEBUG assertion trap used for unreachable-code checks
  • CleanupAcpiSmmPlatformOnFailure (sub_B8C) -- Error path cleanup handler when module returns failure
  • SetupAcpiSmmJumpRecovery (sub_2C0) -- Set-jump style guard around init path to support recovery flow

Protocols

  • EFI_SMM_SYSTEM_TABLE2 for SMM services
  • EFI_SMM_BASE2_PROTOCOL
  • ACPI SMM platform protocol (platform-specific)
  • Power Management 1 (PM1) register block trapping
  • SMM IO trap protocol for PM IO port trapping

Platform

HR650X (Purley), built from PurleyPlatPkg\Acpi\DxeSmm\AcpiSmm, DEBUG VS2015 X64