本文参考:
- UEFI Platform Initialization specification (PI)
Pre-EFI Initialization (PEI) Phase
- The PI Architecture requires the PEI phase to configure a system to meet the minimum prerequisites for the Driver Execution Environment
(DXE) phase of the PI Architecture architecture.
- the PEI phase is required to initialize a linear array of RAM large enough for the successful execution of the DXE phase
elements.- The PEI phase provides a framework to allow vendors to supply separate initialization modules for each functionally distinct piece
of system hardware that must be initialized prior to the DXE phase of
execution in the PI Architecture.- The PEI phase provides a common framework through which the separate initialization modules can be independently designed,
developed, and updated.
The PEI phase is designed to be developed in several parts. The PEI
phase consists of the following:
- Some core code known as the PEI Foundation
- Specialized plug-ins known as Pre-EFI Initialization Modules (PEIMs)
The PEI phase limits its support to the following actions:
- Locating, validating, and dispatching PEIMs
- Facilitating communication between PEIMs
- Providing handoff data to subsequent phases
结构如下图:
在PEI阶段:
模块名叫 Pre-EFI Initialization Modules(PEIMs)
模块与模块之间通信叫 PEIM-to-PEIM Interfaces(PPIs)
PEI与DXE通信是通过 Hand-Off Block(HOB),也就是PEI通过HOB的方式传送数据给DXE阶段,其过程不可逆。