# SecVariableControl

| Index | Module | Size | Phase |
|-------|--------|------|-------|
| 122 | SecVariableControl | 6,368 bytes (PE32+) | DXE_DRIVER |

## Overview

Secure Variable Control Driver that locates the DRAM fail data HOB produced during PEI memory training, parses up to 210 DRAM failure entries across up to 5 DIMMs, and saves the parsed data to UEFI runtime variables (STEP_RESULT, STEP_RESULT_NUM00-04). Each entry encodes the full DDR address map of a failed bit with Post-Package Repair (PPR) status and temperature at failure time.

## Key Functions

- **SecVariableControlDriverEntry** -- Main entry point
- **SaveDramFailDataToVariable** -- HOB parsing and UEFI variable storage
- **DebugProtocolInit** -- Initialize debug output (DXE or SMM path)
- **EntryDriverInit** -- Save globals, initialize HOB list and DXE Services Table
- **GetDebugLevel** -- Read debug level from CMOS 0x4B
- **DebugBspPrint / DebugPrint / DebugAssert** -- Debug output functions

## Dependencies

- `gEfiVariableGuid` -- UEFI variable services
- `gEfiHobListGuid` -- HOB list for DRAM fail data
- `gEfiSmmCommunicationProtocolGuid` -- SMM communication (SMM path)
- `gEfiDxeServicesTableGuid` -- DXE services table
- `gEfiDebugPortProtocolGuid` -- Debug port protocol

## Platform

Intel Purley (Xeon Scalable). x86-64 UEFI Driver (Boot Services Driver, Subsystem 000Bh).