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

SystemBoardPpi

Field Value
Index 0379
Module SystemBoardPpi
PE Size 40,224 bytes (0x9D20)
Phase PEI (Pre-EFI Initialization)
Sections .text / .rdata / .data / .reloc
Arch IA-32 (0x014C)
SHA256 8c96e3adac00618b1019f7d6cf0ac023bde5ed21198c7

Overview

SystemBoardPpi is the PEI system board management driver for the Intel Purley platform. It detects board type and backplane personalities via GPIO, configures PCIe riser card slots including hot-plug support, programs clock generators over SMBUS, and detects the PCH SKU. The module also manages IOU (IIO Global Data) configuration for PCIe bifurcation and slot mapping.

Key Functions

  • ModuleEntryPoint -- Main entry point; calls SystemBoardInit and locates the IIO configuration PPI
  • SystemBoardInit -- Top-level board initialization dispatcher
  • DetectBoardType -- Reads GPIO to determine motherboard personality
  • DetectBPType -- Detects backplane type and personality
  • ConfigureRiserSlot -- Programs riser card slot configuration
  • IioGpioRiserConfig -- GPIO-based riser presence detection and IIO routing
  • GetPchSku -- Reads PCH SKU identification registers
  • ConfigureHotPlugSlot -- Enables PCIe hot-plug on designated slots

Dependencies

  • MdePkg (PiPei.h, BaseLib)
  • PEI Services (PPI location, I/O access)
  • GPIO, SMBUS, PCI Express MMIO access
  • IIO configuration PPI

Platform

Intel Purley platform (e:\hs\PurleyRpPkg\SystemBoard\Pei), Lenovo HR650X server.