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.