AMI-Aptio-BIOS-Reversed / ServerCommonPkg / Universal / GetSec / Pei / TxtPei /
@Ajax Dong Ajax Dong authored on 6 Jun
..
ApicGetBase.c Restructure the repo 1 month ago
ApicGetBaseAddr.c Restructure the repo 1 month ago
ApicWriteIcr.c Restructure the repo 1 month ago
BiosAcmInvoke.c Restructure the repo 1 month ago
BitFieldRead32.c Restructure the repo 1 month ago
CacheEnable.c Restructure the repo 1 month ago
CachePagingSetup.c Restructure the repo 1 month ago
CacheRegionSetup.c Restructure the repo 1 month ago
CheckFeature.c Restructure the repo 1 month ago
CopyMem.c Restructure the repo 1 month ago
CpuGetApicId.c Restructure the repo 1 month ago
CpuGetVersion.c Restructure the repo 1 month ago
CpuIdViaPeiService.c Restructure the repo 1 month ago
CpuRegRead.c Restructure the repo 1 month ago
DebugGetErrorLevel.c Restructure the repo 1 month ago
DebugPrint.c Restructure the repo 1 month ago
DebugPrintProtocol.c Restructure the repo 1 month ago
DwrCheck.c Restructure the repo 1 month ago
EndOfHobCheck.c Restructure the repo 1 month ago
GetNextGuidHob.c Restructure the repo 1 month ago
HobEndCheck.c Restructure the repo 1 month ago
HobGetSize.c Restructure the repo 1 month ago
HobGetType.c Restructure the repo 1 month ago
HobStart.c Restructure the repo 1 month ago
IoDelay.c Restructure the repo 1 month ago
IoRead16.c Restructure the repo 1 month ago
IoRead32.c Restructure the repo 1 month ago
IoRead8.c Restructure the repo 1 month ago
IoWrite16.c Restructure the repo 1 month ago
IoWrite32.c Restructure the repo 1 month ago
IoWrite8.c Restructure the repo 1 month ago
LtPeiEnableMtrr.c Restructure the repo 1 month ago
LtPeiGetTxtVersion.c Restructure the repo 1 month ago
LtPeiLibInitialize.c Restructure the repo 1 month ago
LtPeiLibLaunchBiosAcm.c Restructure the repo 1 month ago
LtPeiLockConfig.c Restructure the repo 1 month ago
LtPeiLockMsr.c Restructure the repo 1 month ago
LtPeiWriteMsr.c Restructure the repo 1 month ago
MmioRead16.c Restructure the repo 1 month ago
MmioWrite16.c Restructure the repo 1 month ago
PchIoWrite.c Restructure the repo 1 month ago
PciCfgRead.c Restructure the repo 1 month ago
PeiGetServiceFromIdt.c Restructure the repo 1 month ago
PeiPcdGet.c Restructure the repo 1 month ago
PeiServicesAssert.c Restructure the repo 1 month ago
PeiServicesGet.c Restructure the repo 1 month ago
PsfGrantCountConfig.c Restructure the repo 1 month ago
PsfRegisterRead.c Restructure the repo 1 month ago
PsfRegisterWrite.c Restructure the repo 1 month ago
PsfTgtConfig.c Restructure the repo 1 month ago
README.md Restructure the repo 1 month ago
ReadMsr64.c Restructure the repo 1 month ago
ReportProgressCode.c Restructure the repo 1 month ago
ReportStatusCode.c Restructure the repo 1 month ago
SetFeatureBit.c Restructure the repo 1 month ago
TxtDebugPrintPolicy.c Restructure the repo 1 month ago
TxtPei.c Restructure the repo 1 month ago
TxtPei.h Restructure the repo 1 month ago
TxtPei.md Restructure the repo 1 month ago
TxtPeiInit.c Restructure the repo 1 month ago
_ModuleEntryPoint.c Restructure the repo 1 month ago
memset.c Restructure the repo 1 month ago
memset32.c Restructure the repo 1 month ago
setMem32.c Restructure the repo 1 month ago
README.md

TxtPei

Field Value
Index 384
Module TxtPei
Size 11904 bytes (0x2E80)
Phase PEI
Format PE32
Machine x86 (0x014C)
Sections .text, .rdata, .data, .reloc
Entry Point 0x3A0
Functions 60

Overview

TxtPei implements Intel Trusted Execution Technology (TXT, formerly LaGrande Technology) initialization during the PEI phase. It configures cache-as-RAM (CAR), locks MSRs, launches the BIOS ACM (Authenticated Code Module), sets up MTRRs, manages page tables for SINIT, and coordinates the measured launch environment (MLE).

This module is critical for establishing a hardware root of trust at boot. It interacts with the TXT hardware registers, SINIT AC modules, and chipset PSF (Private Configuration Space) to prepare the platform for a measured launch before the DXE phase begins.

Key Functions

  • TxtPeiInit -- Main TXT initialization routine.
  • LtPeiLibLaunchBiosAcm -- Launches the BIOS ACM for SINIT verification.
  • LtPeiLibInitialize -- Initializes the TXT library and device memory.
  • CacheRegionSetup / CachePagingSetup -- Configures MTRRs and page tables for pre-memory execution.
  • BiosAcmInvoke -- Invokes the BIOS Authenticated Code Module.
  • LtPeiLockMsr / LtPeiLockConfig -- Locks sensitive MSRs and configuration registers.
  • LtPeiGetTxtVersion -- Reads the TXT hardware version capabilities.
  • DwrCheck -- Verifies DWR (Debug Warranty Register) status.

Dependencies

  • TXT hardware registers (TXTCR, TXTDPR)
  • SINIT AC module
  • PEI services (PPI lookup, HOB creation)
  • MSR and PCI/PSF configuration access
  • MTRR programming

Platform

Intel Purley platform with TXT support, 32-bit PEI phase, requires compatible SINIT ACM.