EFI Pre-EFI Initialization Core Interface Specification v0.91
This specification defines the core code and
services that are required for an implementation of the Pre-EFI Initialization (PEI) phase of the Intel® Platform
Innovation Framework for EFI (hereafter referred to as the "Framework"). This PEI Core Interface Specification (CIS) does
• Describes the ba...sic components of the PEI phase
• Provides code definitions for services and
functions that are architecturally required by the Intel® Platform Innovation Framework for EFI Architecture
• Describes the machine preparation that is required for subsequent phases of firmware execution
Discusses state variables that describe the system restart type (See Organization of the PEI CIS for more information)
The Pre-EFI Initialization (PEI) phase of the Intel® Platform Innovation Framework for EFI (hereafter
referred to as the "Framework") is invoked quite early in the boot flow. Specifically, after some preliminary processing in
the Security (SEC) phase, any machine restart event will invoke the PEI phase.
These PEIMs are responsible for the following:
• Initializing some
permanent memory complement
• Describing the memory in Hand-Off Blocks (HOBs)
• Describing the firmware volume
locations in HOBs
• Passing control into the Driver Execution Environment (DXE) phase
The PEI phase is also responsible for crisis recovery and resuming from the S3 sleep state. For crisis recovery, the PEI phase should reside in some small, fault-tolerant block of the firmware store. In addition, for a successful S3 resume, the speed of the resume is of utmost importance, so the code path through the firmware should be minimized. These two boot flows also speak to the need to keep the processing and code paths in the PEI phase to a minimum.
The implementation of the PEI phase is more dependent on the processor architecture than any other phase. In particular, the more resources the processor provides at its initial or near initial state, the richer the interface between the PEI Foundation and PEIMs. As such, there are several parts of the following discussion that note requirements on the architecture but are otherwise left architecturally dependent.
Read the full EFI Pre-EFI Initialization Core Interface Specification.