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