- Trained on our vast library of engineering resources.
Beyond BIOS: Implementing the Unified Extensible Firmware Interface with Intel's Framework

Chapter 9: DXE Basics: Foundation, Dispatching, and Drivers

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...


Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: NVRAM
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.