6.4 Required Functions

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

The required functions for Stage IV are organized by phase and subsystem (e.g. ACPI, SMM, etc). See Appendix: Full Functions Map for a complete ordering for all stages.

6.4.1 Required DXE Functions

Name

Purpose

PlatformCreateAcpiTable

Create the minimum set of platform-specific ACPI tables

PlatformUpdateAcpiTable

Update data in platform-specific in ACPI tables

PlatformInstallAcpiTable

Install platform-specific ACPI tables

CoreExitBootServices (*)

Dismantles UEFI boot services and enter UEFI run time

BoardInitEndOfFirmware

Board hook for the ExitBootServices event

TestPointExitBootServices

Test to verify state after ExitBootServices has been invoked

RuntimeDriverSetVirtualAddressMap (*)

Sets virtual address mode

Table 45 Stage IV DXE Functions

* In the common EDK II open source code.

6.4.2 DXE Interfaces

Component

Name

Consumer

Purpose

BoardInitLib

BoardNotificationInit

Platform

Board specific initialization hook at DXE phase

Table 46 Stage IV DXE Interfaces

6.4.3 Required SMM Functions

Name

Purpose

SmmIplEntry (*)

SMM IPL

SmmMain (*)

SMM Core entry point

PiCpuSmmEntry (*)

SMM CPU driver

SmmRelocateBases (*)

Relocation

_SmiEntryPoint (*)

SMI entry point

SmmEntryPoint (*)

Dispatch SMI handlers

PchSmmCoreDispatcher

Dispatch PCH child SMI handlers

TestPointSmmEndOfDxe

Verify state after SmmEndOfDxe

TestPointSmmEndOfDxe

Verify state after SmmEndOfDxe

TestPointSmmReadyToLock

Verify state after SmmReadyToLock

PlatformEnableAcpiCallback

Switch the system to ACPI mode

BoardEnableAcpiCallback

Board hook for ACPI mode switch

Table 47 Stage IV SMM Functions

* In the common EDK II open source code.

6.4.4 SMM Interfaces

Component

Name

Consumer

Purpose

BoardAcpiLib

BoardEnableEcAcpiMode ()

Platform

Board specific ENABLE_ACPI_MODE action

‚Äč

BoardDisableEcAcpiMode ()

Platform

Board specific DISABLE_ACPI_MODE action

Table 48 Stage IV SMM Interfaces