4.4 Required Functions

The following functions are required to exist and to execute in the listed order. The component that provides the function is not specified because it is not required by the architecture.

4.4.1 Required PEI functions

* In the common EDK II open source code.
Name
Purpose
BoardBootModeDetect
Board hook for EFI_BOOT_MODE detection
BoardInitBeforeMemoryInit
Board specific initialization prior to permanent memory initialization (e.g. GPIO configuration)
SiliconPolicyInitPreMemory
Pre-memory silicon policy default initialization
SiliconPolicyUpdatePreMemory
Pre-memory silicon policy update logic
SiliconPolicyDonePreMemory
Opportunity to implement a board-specific indicator that silicon policy initialization is done
MemoryInit
Permanent memory initialization
InstallEfiMemory
Install permanent memory to core
PeiCore (*)
PEI entry point (post-memory entry)
SecTemporaryRamDone (*)
Optional API defined in the PI specification to disabled temporary RAM
ReportPostMemFv
Firmware volume installation in post-memory
TestPointPostMemoryFvInfoFunctional
Test to verify correctness of the firmware volume map in post-memory
BoardInitAfterMemoryInit
Board initialization after memory is installed
SetCacheMtrr
Configuration of MTRR settings for post-memory
TestPointPostMemoryMtrrAfterMemoryDiscoveredFunctional
Test to verify the correctness of the MTRR settings in post-memory
TestPointPostMemoryResourceFunctional
Test to verify correctness of permanent memory

Table 20 Stage II PEI Functions

4.4.2 Interfaces

* In the common EDK II open source code.
Component
Name
Consumer
Purpose
BoardInitLib
BoardBootModeDetect
Platform
Board-specific boot mode detection
BoardInitAfterMemoryInit
Platform
Board specific initialization after memory initialization
BoardInitBeforeTempRamExit
Platform
Board specific hook before temporary RAM exit
BoardInitAfterTempRamExit
Platform
Board specific hook after temporary RAM exit
SiliconPolicyInitLib
SiliconPolicyInitPreMemory
Platform
Initialize silicon policy default values
SiliconPolicyDonePreMemory
Platform
Platform-specific behavior to indicate the policy update is done
SiliconPolicyUpdateLib
SiliconPolicyUpdatePreMemory
Platform
Board updates default policy

Table 21 Stage II Interfaces