# 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