Newer
Older
AMI-Aptio-BIOS-Reversed / UefiCpuPkg / PiSmmCommunication / PiSmmCommunicationPei / README.md
@Ajax Dong Ajax Dong 2 days ago 2 KB Restructure the repo

PiSmmCommunicationPei

Field Value
Index 399
Module PiSmmCommunicationPei
Size 4,612 bytes (1204h)
Phase PEI
SHA256 feb4fc60dfed53cb86842c15c3bc3b12db5149ef26a58b74d67f6046d93b9c2b
Functions 25

Overview

PiSmmCommunicationPei is a PEI module from UefiCpuPkg that establishes communication between the PEI phase and SMM (System Management Mode) foundation. It installs a SMM communication protocol that allows PEIMs to transfer data to SMM drivers during S3 resume. On S3 boot path (BOOT_ON_S3_RESUME), it initializes the communication buffer, sets up the SMM configuration table pointer, and installs a PPI for SMM communication.

Key Functions

  • ModuleEntryPoint_0 -- Main entry; verifies S3 resume boot mode (BOOT_ON_S3_RESUME), initializes communication context
  • sub_FFE32A96 -- Initializes SMM communication context; reads SMM S3 Resume State HOB, resolves Smst address
  • sub_FFE329BA -- Searches SMM configuration tables for PiSmmCommunicationSmm matching GUID
  • sub_FFE32B5C -- Communicates with SMM core; writes buffer pointer to SMM-shared memory, triggers SMI
  • sub_FFE32ED1 / sub_FFE32E8C -- GUID HOB traversal and matching
  • sub_FFE32F04 / sub_FFE32F54 -- HOB allocation for communication structures

Dependencies

  • UefiCpuPkg/PiSmmCommunication
  • PEI Services (for PPI installation and notification)
  • HOB services (for SMM S3 Resume State and configuration table HOBs)
  • IDT-based PEI Services Table Pointer Library
  • SMM communication PPI (gEfiPeiSmmCommunicationPpiGuid)

Platform

  • Architecture: IA-32 (x86)
  • Subsystem: EFI_BOOT_SERVICE_DRIVER (0x0B)
  • Source: UefiCpuPkg/PiSmmCommunication/PiSmmCommunicationPei.c
  • Linker: MSVS 2015