# NvramSmm

| Field | Value |
|---|---|
| Index | 0168 |
| Size | 78 KB |
| Phase | SMM |
| Source | `AmiModulePkg/NVRAM/NvramSmm/NvramSmm.c` |

## Overview

SMM NVRAM variable services driver. It handles variable access through SMI
communication, SecureBoot-aware policy checks, variable migration, and the
mailbox-backed NVRAM store state used by runtime overrides.

## Key Functions

- `SmiNvramCommHandler` - SMI dispatch for variable operations
- `NvramCoreInit` - store initialization from HOB/mailbox state
- `RuntimeGetVariable` / `RuntimeSetVariable` - runtime service overrides
- `SecureBootSetVariable` - PK/KEK-aware variable writes
- `NvramHobRetrieve` - NVRAM HOB discovery and store setup

## Protocols / Dependencies

- `EFI_SMM_BASE2_PROTOCOL`
- `EFI_SMM_ACCESS2_PROTOCOL`
- SMM Buffer Validation Protocol
- `AmiCryptoLib`
- SMM Communication Buffer

## Platform

Intel Purley (Skylake-SP) / HR650X server, `AmiModulePkg/NVRAM/NvramSmm`
