AMI-Aptio-BIOS-Reversed / PurleySktPkg / SouthClusterLbg / SiInit / Pei / SiInitPreMem /
@Ajax Dong Ajax Dong authored on 6 Jun
..
BaseMemoryStallHelpers.c Recovering names 3 months ago
EntryDebugPerformanceTraceHub.c Recovering names 3 months ago
FailedDecompilePlaceholders.c Recovering names 3 months ago
PchPreMemInit.c Recovering names 3 months ago
PcieRootPortDwr.c Recovering names 3 months ago
README.md Restructure the repo 3 months ago
SiInitPreMem.c Recovering names 3 months ago
SiInitPreMem.h Recovering names 3 months ago
SiInitPreMem.md Restructure the repo 3 months ago
XhciGpioPpiGlue.c Recovering names 3 months ago
all_decomp.txt Restructure the repo 3 months ago
strings_raw.json Restructure the repo 3 months ago
README.md

SiInitPreMem

Index Module Size Phase
0360 SiInitPreMem 121696 bytes (0x1DB60) PEI (Pre-Memory)

Overview

SiInitPreMem is the PEI pre-memory silicon initialization module for the Intel Purley platform (Lewisburg PCH). It runs during the PEI pre-memory phase and configures critical PCH subsystems before system DRAM is available. At 121 KB, this is the largest module in the group, containing 134 decompiled functions covering PCH reset callbacks, early register programming, silicon policy initialization, and performance measurement logging.

Key Functions

  • SiInitPrePolicy -- One-time PCH pre-memory policy initialization (guarded by flag at 0xFA044).
  • PchResetInitCallback -- PCH reset initialization callback.
  • PchResetCallback2 -- Secondary PCH reset handler.
  • PeiPerfInit / PeiPerfLogEntry / PeiPerfLogEnd -- Performance measurement HOB logging.
  • GetBootMode / GetPlatformType -- Platform boot mode and type detection.

Dependencies

  • PEI Services (pre-memory phase)
  • PCH Reset registers
  • PCD Database
  • Performance measurement (Perf) PPIs

Platform

  • Architecture: IA32 (x86, PE32)
  • Source: PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem.c
  • PCH Family: Lewisburg (LBG)
  • Image base: 0xFFD7F40C
  • Image size: 121 KB