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

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

Platform

Intel Purley (Skylake-SP Xeon), HR650X
Source: LenovoServerPkg/Library/LnvIpmiLib/IpmiCmd/