# SmmControl

| Index | Module | Size | Phase |
|-------|--------|------|-------|
| 115 | SmmControl | 10,240 bytes (PE32+) | DXE_RUNTIME_DRIVER |

## Overview

SMM Control Runtime DXE driver for the PCH SMI management on Purley/LBG platforms. Provides `EFI_SMM_CONTROL2_PROTOCOL` and `EFI_SMM_COMMUNICATION_PROTOCOL` interfaces for SMI generation, status handling, and interprocessor communication. Manages SMI I/O port base configuration through PCH LPC decode registers and coordinates GPIO GPE/SMI events.

## Key Functions

- **SmmControlDriverEntryInit** -- Driver initialization, saves globals, registers events
- **SmiActivate** -- Triggers SMI via control port writes
- **SmmControl2Handler** -- SMI generation handler
- **SmmControl2Clear** -- SMI status clear and GPE management
- **SmmCommunicationCommunicate** -- SMM communication buffer exchange
- **PciExpressInit** -- PCI Express MMIO base setup
- **SmiClearGpeStatus** -- GPIO GPE status register management
- **OnVirtualAddressChange** -- Converts pointers for runtime virtual addressing
- **OnRestoreTpl / OnRuntimeReady** -- Event notification callbacks

## Dependencies

- EFI_SMM_CONTROL2_PROTOCOL
- EFI_SMM_COMMUNICATION_PROTOCOL
- PCH LPC I/O decode MMIO registers
- GPIO GPE/SMI configuration tables via HOB
- MM_PCI_USRA protocol

## Platform

Intel Purley (Xeon Scalable), PCH LBG. x86-64 UEFI Runtime Driver.