Newer
Older
AMI-Aptio-BIOS-Reversed / OemSaveSmbiosDxe / README.md
@Ajax Dong Ajax Dong 2 days ago 2 KB Init

OemSaveSmbiosDxe

  • Module: 0091
  • File: OemSaveSmbiosDxe.efi
  • Size: 12640 bytes (0x3160)
  • Phase: DXE (Driver Execution Environment)
  • MD5: 8c1d934e97825c7b1ec3bf4b448da3e0
  • SHA256: 7466e5a58cf614358c979611ed39cd085c452ee877c370c47f0c22b586ffa8c4

Overview

SMBIOS PCD Save/Restore DXE driver. Saves OEM SMBIOS PCD configuration values (system manufacturer, product name, serial numbers, UUID, chassis info, baseboard info) into the "OemSmbiosPcdValue" EFI variable and restores them on subsequent boots. On first boot or after FRU replacement, if firmware detects default "To be filled by O.E.M." strings in the PCD data, it restores the previously saved values from the variable, ensuring customer-customized SMBIOS data persists across firmware updates and FRU replacements.

Key Functions

Function Description
_ModuleEntryPoint UEFI driver entry point; initializes service table pointers and calls OemSaveSmbiosPcdvalue
OemSaveSmbiosPcdvalue Reads all system/board/chassis PCD tokens (manufacturer, product name, serial number, version, UUID, asset tag, chassis type) and saves them into the OemSmbiosPcdValue UEFI variable
OemRestoreSmbiosPcdvalue Reads saved OemSmbiosPcdValue variable and restores individual SMBIOS PCD tokens when FRU data contains default placeholder strings
OemRestoreSmbiosString Restores a single SMBIOS string PCD token from the saved variable data
GetPcdProtocol Locates and caches the PCD protocol
GetHobList Retrieves HOB list pointer from system table
PcdGetPtrWrapper Safe wrapper for PCD protocol GetPtr with size verification
DebugAssert Assertion handler with CMOS-aware debug level
DebugPrint Conditional debug print with CMOS debug level mask

Protocols/Dependencies

  • SMBIOS Protocol - SMBIOS table access
  • PCD Protocol - Platform Configuration Database for SMBIOS token access
  • HOB List - For DXE Services Table initialization
  • OemSmbiosPcdValue UEFI variable (Runtime accessible) - Persistent SMBIOS data storage
  • PCD Tokens: System manufacturer (118), product name (117), version (119), serial number (120), UUID (187), baseboard manufacturer (121), product name (122), version (123), serial number (124), asset tag (125), chassis manufacturer (126), version (127), serial number (128), asset tag (129), chassis type (188)

Platform

Lenovo ThinkSystem HR650X (Purley platform) - OEM SMBIOS customization persistence