NvramPei
Index: 0407 | Size: 16,704 bytes | Phase: PEI | Format: PE32 (Ia32)
Overview
NVRAM variable services PEIM that manages UEFI variable storage during the PEI phase. Provides NVRAM initialization (hardware bring-up, GPIO configuration), variable read services via both legacy (ReadOnlyVariable) and modern (ReadOnlyVariable2) PPIs, and internal variable store traversal (checksum verification, variable search by name/GUID, payload access).
Key Functions
- ModuleEntryPoint -- EFI entry: calls PeiGetVariableAddressPpi to register variable access PPIs
- NvramInitHardware -- Hardware NVRAM initialization: GPIO configuration, LPC bridge setup
- NvramPollGppD1 -- Polls GPP_D1 hardware, reports progress status
- PeiGetVariableCompat -- Legacy ReadOnlyVariable PPI getter (deprecated path)
- PeiGetVariableCompat2 -- ReadOnlyVariable2 PPI getter (modern path)
- NvramFunctionDispatch -- NVRAM operation dispatcher
- NvramVariableServiceDispatch -- Variable service routing
- NvramGetBaseAddresses -- Retrieves NVRAM flash base addresses
- NvramFindDefaultsInFv -- Locates default variable store in firmware volume
- NvramInitDefaults -- Initializes default variable storage
- NvramFindVariable -- Searches variable store by name+GUID with checksum validation
- NvramGetVariable / NvramGetVariableName / NvramGetVariablePayload -- Variable data extraction
- NvramVerifyChecksum -- Store entry checksum verification
- NvramCompareVariableName / NvramMatchVariableName -- Variable name comparison utilities
Dependencies
- EFI_PEI_READ_ONLY_VARIABLE2_PPI -- Variable access PPI (installed)
- EFI_PEI_READ_ONLY_VARIABLE_PPI -- Legacy variable access PPI (installed)
- NVRAM flash hardware (GPIO, LPC/FWH)
- PEI Services (PPI registration, HOB access)
Lenovo HR650X (Purley)
Source: AmiModulePkg/NVRAM/NvramPei/