LnvPurleyDriverPei
Index: 0403 | Size: 2,400 bytes | Phase: PEI | Format: PE32 (Ia32)
Overview
Minimal Lenovo Purley-specific PEI driver that registers PPI notification descriptors and provides debug output infrastructure. Installs the LnvPurley driver PPI, registers notification callbacks, and exposes a debug PPI interface for platform-level debug logging during PEI.
Key Functions
- ModuleEntryPoint -- EFI entry: registers LnvPurleyInstallPpiDescriptor and notification PPIs, logs status
- PpiNotifyCallbackStub -- Stub callback that returns immediately (0)
- GetDebugPpiInterface -- Locates the LnvPurley debug PPI via PeiServices
- DebugPrint -- Conditional debug print via debug PPI, filtered by PeiGetPlatformType
- DebugAssert -- Assert handler via debug PPI
- PeiGetPlatformType -- Reads platform type from RTC CMOS register 0x4A
- GetPeiServicesTablePointer -- Retrieves PEI services pointer via SIDT
- LnvSendIpmiCmd -- Sends IPMI command using the Purley driver PPI
Dependencies
- gLnvPurleyDriverPpiGuid -- LnvPurley driver PPI GUID
- gLnvPurleyDebugPpiGuid -- LnvPurley debug PPI GUID
- PeiServices Table Pointer via IDT
- CMOS RTC register 0x4A -- Platform type detection
Intel Purley (Skylake-SP Xeon), HR650X
Source: LenovoServerPkg/Library/LnvIpmiLib/IpmiCmd/