MultiSkuDistinctionDxe
Index: 0273 | Size: 3.4 KB | Phase: DXE | Arch: X64
Overview
Minimal DXE driver that identifies the system SKU type (platform variant) and publishes a SKU protocol for other drivers. Reads the SKU identification byte from CMOS RTC index 0x4B (or a fallback memory-mapped byte at 0xFDAF0490), extracts multi-SKU information from a GUID-extension HOB (gLenovoMultiSkuHobGuid), and installs the SKU protocol. If the SKU is unified/unknown (0x55 = 'U'), the protocol installation is deferred until ExitBootServices.
Key Functions
- MultiSkuDistinctionDxeEntryPoint (0x344): Entry point -- saves global protocol references, reads HOB list, extracts SKU info, installs SKU protocol
- GetMultiSkuInfoFromHob (0x740): Walks the HOB list to find a GUID-ext HOB with matching Lenovo multi-SKU GUID (3-byte SKU type at HOB offset 48)
- InstallSkuProtocol (0x470): Publishes the platform SKU identification protocol via gBS->InstallProtocolInterface
- MsDebugPrint / MsDebugAssert: Debug support via cached MS_DEBUG_PROTOCOL pointer
Protocols/Dependencies
- MS_DEBUG_PROTOCOL (optional, for debug output)
- gLenovoMultiSkuHobGuid (for SKU identification data from PEI phase)
- CMOS RTC (I/O ports 0x70/0x71) for SKU byte at index 0x4B
Lenovo HR650X. Lenovo-specific multi-SKU identification scheme supporting unified/UEFI SKU detection.