# TcgPeiplatform

| Field       | Value                                      |
|-------------|--------------------------------------------|
| Index       | 393                                        |
| Module      | TcgPeiplatform                             |
| Size        | 2,756 bytes (AC4h)                         |
| Phase       | PEI                                        |
| SHA256      | 94582fc14c7324316c96cf710bd4e1920fa3c198a55926ee7fbdde1a29f66c4e |
| Functions   | 14                                         |

## Overview

TcgPeiplatform is a lightweight PEI module that provides TCG platform detection and boot mode management. It detects TPM presence via CMOS/IO ports, verifies the boot mode is BOOT_WITH_FULL_CONFIGURATION, and delegates to a DXE-phase dispatch callback. It is the smallest TCG-related PEIM in the BIOS, primarily serving as a boot-mode guard and TPM presence checker.

## Key Functions

- **ModuleEntryPoint** -- Main entry; checks PCD, verifies boot mode, installs a callback to continue initialization in DXE
- **TpmIsPresent** -- Detects TPM hardware via CMOS register 0x4A and memory-mapped I/O at FDAF0490h
- **GetDebugOutput** -- Retrieves the debug output protocol for diagnostic messages
- **GetPcdProtocol / GetPcdPpi / PcdSetSku** -- PCD service wrappers for platform configuration access

## Dependencies

- PiPei, Uefi base libraries
- PCD PPI (PeiPcdLib)
- PEI Services Table Pointer Library (IDT-based)
- CMOS/IO port access (IoLib)

## Platform

- **Architecture**: IA-32 (x86)
- **Subsystem**: EFI_BOOT_SERVICE_DRIVER (0x0B)
- **Linker**: MSVS 2015