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 |