9. PEI to DXE Handoff
9.1. Introduction
The PEI phase of the system firmware boot process performs rudimentary initialization of the system to meet specific minimum system state requirements of the DXE Foundation. The PEI Foundation must have a mechanism of locating and passing off control of the system to the DXE Foundation. PEI must also provide a mechanism for components of DXE and the DXE Foundation to discover the state of the system when the DXE Foundation is invoked. Certain aspects of the system state at handoff are architectural, while other system state information may vary and hence must be described to DXE components.
9.2. Discovery and Dispatch of the DXE Foundation
The PEI Foundation uses a special PPI named the DXE Initial
Program Load (IPL) PPI to discover and dispatch the DXE Foundation
and components that are needed to run the DXE Foundation
The final action of the PEI Foundation is to locate and pass
control to the DXE IPL PPI. To accomplish this, the PEI Foundation
scans all PPIs by GUID for the GUID matching the DXE IPL PPI. The
GUID for this PPI is defined in EFI_DXE_IPL_PPI
.
9.3. Passing the Hand-Off Block (HOB) List
The DXE IPL PPI passes the Hand-Off Block (HOB) list from PEI to the DXE Foundation when it invokes the DXE Foundation. The handoff state is described in the form of HOBs in the HOB list. The HOB list must contain at least the HOBs listed in Required HOB Types in the HOB List .
Required HOB Type |
Usage |
---|---|
Phase Handoff Information Table PHIT HOB |
This HOB is required |
One or more Resource Descriptor HOB s describing physical system memory |
The DXE Foundation will use this physical system memory for DXE |
Boot strap processor BSP Stack HOB |
The DXE Foundation needs to know the current stack location so that it can move it if necessary based upon its desired memory address map This HOB will be of type EfiConventionalMemory |
BSP BSPStore Backing Store Pointer Store HOB Note Itanium processor family only |
The DXE Foundation needs to know the current store location so that it can move it if necessary based upon its desired memory address map |
One or more Resource Descriptor HOB s describing firmware devices |
The DXE Foundation will place this into the GCD |
One or more Firmware Volume HOB s |
The DXE Foundation needs this information to begin loading other drivers in the platform |
A Memory Allocation Module HOB |
This HOB tells the DXE Foundation where it is when allocating memory into the initial system address map |
The above HOB types are defined in volume 3 of this specification.
9.4. Handoff Processor State to the DXE IPL PPI
Handoff Processor State to the DXE IPL PPI defines the state that processors must be in at handoff to the DXE IPL PPI, for the following processors:
IA-32 processors
Itanium processor family
Intel ® processors using Intel ® XScale™ technology
Processor |
State at Handoff |
---|---|
IA 32 |
In 32 bit flat mode |
Itanium |
In Itanium processor family physical mode |
Intel XScale |
In SuperVisor Mode with a one to one virtual to physical mapping if there is a memory management unit MMU in the system |