Newer
Older
AMI-Aptio-BIOS-Reversed / PurleyPlatPkg / Platform / Pei / FpgaPlatformInit / FpgaBbsInit / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Restructure the repo

FpgaPlatformEarlyInit

Field Value
Index 0370
Module FpgaPlatformEarlyInit
PE Size 8,768 bytes (0x2240)
Phase PEI (Pre-EFI Initialization)
Sections .text / .rdata / .data / .reloc
Arch IA-32 (0x014C)
SHA256 419e20671d52d16d32dc5522bb485b6caf533b1f96eb

Overview

FpgaPlatformEarlyInit provides early FPGA (Field Programmable Gate Array) platform initialization during the PEI phase. It discovers FPGA firmware volumes from the flash, locates the FPGA configuration HOB produced by earlier boot stages, and installs the FPGA Platform Hooks PPI for consumption by downstream PEIMs. The module also handles FPGA BBS (Boot Block Select) initialization by loading the FPGA firmware volume into memory.

Key Functions

  • ModuleEntryPoint -- Main PEI entry point; initializes the FPGA platform and installs the platform hooks PPI
  • FpgaBbsInit -- Loads FPGA firmware volume from BIOS flash offset into memory
  • InternalFvAlignmentCheck -- Validates firmware volume alignment constraints
  • InternalReadCmosByte -- CMOS read helper for FPGA configuration
  • InternalCalculateCheckSum16 -- Checksum verification for FPGA data integrity

Dependencies

  • MdePkg (BaseMemoryLib, BaseLib, PeiHobLib, PeiPcdLib, PeiServicesLib)
  • PurleyPlatPkg/Library/FpgaPlatformHooksLib
  • FPGA configuration HOB and variable GUIDs
  • gEfiPeiMrcHooksChipServicesPpi, gEfiPeiMpServicesPpi

Platform

Intel Purley platform, Lenovo HR650X server.