A.2 Key Function Invocation

Name

Purpose

ResetHandler (*)

The reset vector invoked by silicon

TempRamInit

Silicon initializes temporary memory

TestPointTempMemoryFunction

Test temporary memory functionality

SecStartup (*)

First C code execution, constructs PEI input

TestPointEndOfSec

Verify state before switching to PEI

PeiCore (*)

PEI entry point

PeiDispatcher (*)

Calls the entry points of PEIM

ReportPreMemFv

Installs firmware volumes required in pre-memory

BoardDetect

Board detection of the motherboard type

BoardDebugInit

Board specific initialization for debug device

PlatformHookSerialPortInitialize

Board serial port initialization. Called from SEC or PEI

TestPointDebugInitDone

Verify debug functionality

BoardBootModeDetect

Board hook for EFI_BOOT_MODE detection

BoardInitBeforeMemoryInit

Board specific initialization, e.g. GPIO

SiliconPolicyInitPreMemory

Silicon pre memory policy initialization

SiliconPolicyUpdatePreMemory

Board updates silicon policies

SiliconPolicyDonePreMemory

Complete pre memory silicon policy data collection

MemoryInit

Silicon initializes permanent memory

InstallEfiMemory

Install permantent memory to core

PeiCore (*)

PEI entry point (post memory entry)

SecTemporaryRamDone (*)

Call SEC to tear down temporary memory

ReportPostMemFv

Installs firmware volumes required in post-memory

TestPointPostMemoryFvInfoFunctional

Test for Firmware Volume map

BoardInitAfterMemoryInit

Board initialization after memory is installed

SetCacheMtrr

Configure cache map for permanent memory

TestPointPostMemoryMtrrAfterMemoryDiscoveredFunctional

Test post-memory cache map

TestPointPostMemoryResourceFunctional

Test resources

TestPointPostMemoryFvInfoFunctional

Test for Firmware Volume map

BoardInitBeforeSiliconInit

Board initialization hook

SiliconPolicyInitPostMemory

Silicon post memory policy initialization

SiliconPolicyUpdatePostMemory

Board updates silicon policies

SiliconPolicyDonePostMemory

Complete post memory silicon policy data collection

BoardInitAfterSiliconInit

Board specific initialization after silicon is initialized

DxeLoadCore (*)

DXE IPL locate and call DXE Core

SetCacheMtrrAfterEndOfPei

Sets cache map in preparation for DXE

TestPointEndOfPei

Verify expected state as we exit PEI phase

TestPointPostMemoryMtrrEndOfPeiFunctional

Basic test for cache configuration before entering DXE

PeimEntryMA (*)

Entrypoint for TPM2 PEIM

IntelVTdPmrInitialize (*)

Entrypoint for VT-d PEIM

DxeMain (*)

DXE entry point

CoreStartImage (*)

Calls the entry points of DXE drivers

SiliconPolicyInitLate

Silicon late policy initialization

SiliconPolicyUpdateLate

Board updates silicon policies

SiliconPolicyDoneLate

Complete late silicon policy data collection

CoreAllEfiServicesAvailable (*)

Check if required architectural protocols are installed

SmmIplEntry (*)

SMM IPL

SmmMain (*)

SMM Core entrypoint

PiCpuSmmEntry (*)

SMM CPU driver

SmmRelocateBases (*)

Relocation

_SmiEntryPoint (*)

SMI entry point

SmmEntryPoint (*)

Dispatch SMI handlers

PchSmmCoreDispatcher

Dispatch PCH child SMI handlers

InitializeTcgSmm (*)

Entrypoint for TPM2 SMM

MemoryClearCallback (*)

Callback function for MOR setting

PlatformCreateAcpiTable

Create the minimum set of platform specific tables

PlatformUpdateAcpiTable

Update platform specific data in ACPI tables - FADT.

PlatformInstallAcpiTable

Install platform specific ACPI tables

DriverEntry (*)

Entrypoint for TPM2 DXE

IntelVTdInitialize(*)

Entrypoint for VT-d DXE

UserPhysicalPresent (*)

Return if physical user is present for UEFI secure boot

ProcessTcgPp

Process TPM PP request

ProcessTcgMor

Process TPM MOR request

BdsEntry (*)

BDS entry point

PlatformBootManagerBeforeConsole (*)

Platform specific BDS functionality before console

BoardInitAfterPciEnumeration

Board-specific hook on PCI enumeration completion

TestPointPciEnumerationDone

Verify PCI

ExitPmAuth

Signal key security events EndOfDxe and SmmReadyToLock

TestPointEndOfDxe

Verify expected state after EndOfDxe

TestPointDxeSmmReadyToLock

Verify expected state after SmmReadyToLock

TestPointSmmEndOfDxe

Verify state after SmmEndOfDxe

TestPointSmmEndOfDxe

Verify state after SmmEndOfDxe

TestPointSmmReadyToLock

Verify state after SmmReadyToLock

EfiBootManagerDispatchDeferredImages (*)

Dispatch deferred third party UEFI driver OPROMs

PlatformBootManagerAfterConsole (*)

Platform specific BDS functionality after console

BootBootOptions (*)

Attempt each boot option

EfiSignalEventReadyToBoot (*)

Signals the ReadyToBoot event group

BoardInitReadyToBoot

Board hook on ReadyToBoot event

TestPointReadyToBoot

Verify state after ReadyToBoot event signal

UefiMain (*)

UEFI Shell entry point

CoreExitBootServices (*)

Dismantles UEFI boot services and enters runtime

BoardInitEndOfFirmware

Board hook for ExitBootServices event

TestPointExitBootServices

Verify state after ExitBootServices has been called

RuntimeDriverSetVirtualAddressMap (*)

Set virtual address mode

PlatformEnableAcpiCallback

Switch the system to ACPI mode

BoardEnableAcpiCallback

Board hook for ACPI mode switch

Table 72 Key Function Invocation

* In the common EDK II open source code.