Beyond BIOS: Implementing the Unified Extensible Firmware Interface with Intel's Framework

I do not fear computers. I fear the lack of them.
Isaac Asimov
This chapter describes the makeup of the Driver Execution Environment (DXE) and how it operates during the platform evolution. In addition, it should describe some of the fundamental concepts of how information is handed off between phases of the platform boot process and how the underlying components are launched. The launching description should also provide some insight into how launch orders are constructed, since they do deviate from what is commonly referred to as POST tables in legacy firmware.
The DXE phase contains an implementation of EFI that is compliant with the EFI 1.1 Specification. As a result, both the DXE Foundation and DXE drivers share many of the attributes of EFI images. The DXE phase is the phase where most of the system initialization is performed. The Pre-EFI Initialization (PEI) phase is responsible for initializing permanent memory in the platform so the DXE phase can be loaded and executed. The state of the system at the end of the PEI phase is passed to the DXE phase through a list of position-independent data structures called HandOff Blocks (HOBs). The DXE phase consists of several components:
DXE Foundation
DXE Dispatcher
DXE Drivers
The DXE Foundation produces a set of Boot Services, Runtime Services, and DXE Services. The DXE Dispatcher is responsible for discovering and executing DXE drivers in the correct order. The DXE drivers are responsible for initializing the processor, chipset, and platform components as...