# PcdDxe

| Field       | Value                           |
|-------------|---------------------------------|
| Index       | 258                             |
| Module      | PcdDxe                          |
| File        | PcdDxe.efi                      |
| PE format   | PE32+                           |
| Size (hex)  | 4EA4h                           |
| Size (bytes)| 20,132                          |
| Subsystem   | EFI Boot Service (000Bh)        |
| Sections    | 6 (.text, .rdata, .data, section_3, .xdata, .reloc) |
| Phase       | DXE                             |
| Source      | MdeModulePkg/Universal/PCD/Dxe  |
| Build       | HR6N0XMLK, DEBUG_VS2015, X64    |

## Overview

This module implements the DXE-phase PCD (Platform Configuration Database) infrastructure, derived from the edk2 MdeModulePkg. It provides get/set operations for PCD values, NV storage backing for non-volatile PCDs, dynamic SKU variant support, and notification callbacks for PCD value changes. The driver maintains separate PEI-phase and DXE-phase PCD databases and handles token lookup via GUID tables and size tables.

## Key Functions

- PcdDxeInitDatabase -- initializes the PCD database from PEI HOB and DXE FV sections
- PcdGet32 / PcdSet32 -- get and set 32-bit PCD values by token number
- PcdGetEx64 / PcdSetEx64 -- get and set 64-bit extended PCD values by GUID + token
- PcdSetNvStoreDefault -- writes default NV storage data for non-volatile PCDs
- Callback table management for PCD value change notifications
- SKU variant support for platform-specific PCD values

## Dependencies

- PEI-phase PCD database (GUID HOB)
- DXE-phase PCD database (from Firmware Volume)
- UEFI Boot Services
- DebugLib

## Platform

Intel/AMD64 UEFI, Lenovo HR650X BIOS