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