# 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

## Platform

Lenovo HR650X. Lenovo-specific multi-SKU identification scheme supporting unified/UEFI SKU detection.