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