UEFI setup defaults loading and configuration management module. Iterates through UEFI setup variables, compares current values against factory defaults, and applies default values when needed. Handles NVRAM storage initialization, PCI segment bus configuration, VMD (Volume Management Device) NVMe slot information collection, and BMC communication for VMD setup. The driver locates multiple protocols (MM PCI USRA, HII services, HII Config Routing, HII Config Access, DXE services) and processes setup configuration data including SocketIioConfig and other setup variable domains.
| Function | Description |
|---|---|
ModuleEntryPoint |
UEFI driver entry point; initializes globals then calls SetupDefaultLoadDriverEntry |
SetupDefaultLoadDriverEntry |
Main driver entry; initializes NVRAM storage, locates protocols (MM PCI USRA, HII services, HII Config Routing, HII Config Access), and performs initial setup configuration |
SetupDefaultLoadMain |
Iterates through setup variables, compares against factory defaults, and applies them. Processes VMD setup defaults |
ProcessSetupDefaults |
Processes setup default values; compares each setup option against its factory default and queues updates. Handles NVMe VMD slot information |
InitDefaultConfigData |
Initializes default configuration data buffer; allocates memory and populates with factory default settings |
GetConfigAccess |
Retrieves the UEFI Setup configuration access protocol |
ValidateInputParameters |
Validates setup input parameters via the config access protocol |
ProcessSetupConfig |
Processes a single setup configuration item |
UpdateSetupData |
Updates a setup data value in the configuration store |
CopySetupBuffer |
Copies setup buffer data to the configuration protocol |
GetBootOptionValue |
Maps boot option IDs to their corresponding byte values |
ProcessSetupMenuOption |
Processes setup menu options with nesting support |
GetSetupVariableData |
Retrieves setup variable data from UEFI variables via GetVariable |
GetNvStorageData |
Gets NVRAM storage data pointer from system configuration table |
Lenovo ThinkSystem HR650X (Purley platform) - Setup defaults and VMD NVMe configuration