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 .

Table 9.1 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

Table 9.2 Handoff Processor State to the DXE IPL PPI

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