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

UncoreInitPeim

Field Value
Index 424
Module UncoreInitPeim
Size 1,351,076 bytes (PE32 .text: ~1,041 KB / .rdata: ~186 KB / .data: ~74 KB / .reloc: ~18 KB)
Phase PEI
Functions 2,560 (2,453 named, 107 sub_)

Overview

UncoreInitPeim is the largest PEI module in the BIOS at ~1.35 MB, responsible for initializing the Intel Purley (Xeon Scalable) uncore -- the on-die logic outside the CPU cores including IIO (Integrated I/O), Ubox, Mesh, and Memory Controller. Spanning 136,806 lines of decompiled C split across 5 part files, it handles PCIe topology enumeration, memory RAS configuration, global MMIO resource allocation, and socket-level uncore register programming.

Key Functions

  • UncoreInit -- Top-level uncore initialization dispatcher
  • PcieAddressInit -- PCIe configuration space base address setup
  • UsraRegisterFilter -- Unified System Register Access filtering for uncore registers
  • DebugPrintDispatcher -- Debug/log output routing
  • _ModuleEntryPoint -- PEI module entry; sets up debug services and dispatches sub-phases

Dependencies

  • PCIe configuration space (mmcfg)
  • PEI Services (PeiServices)
  • USRA (Unified System Register Access) library
  • Memory controller registers and HOBs
  • IIO/Mesh topology descriptors

Platform

  • Architecture: IA32 (x86, PE32)
  • Subsystem: EFI Boot Service Driver (0x000B)
  • Machine: 0x014C (i386)
  • Entry Point: 0x395