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.