Figure 7 shows the sequence of events that occur when a UEFI-based system is booted. The following sections describe each of these events in detail and how they relate to UEFI drivers.
On the following page, Figure 8 shows a possible system configuration. Each box represents a physical device (a controller) in the system. Before the first UEFI connection process is performed, none of the devices are registered in the handle database. The following sections describe the steps that UEFI-conformant firmware follows to initialize a platform, how drivers are executed, handles are created, and protocols are installed.
During platform initialization, early in the boot process, the platform creates handles and install the EBC Protocol and the Decompression Protocol(s) in the handle database. These service protocols are needed to run UEFI drivers that may be compressed or compiled using an EBC compiler. The Compression Algorithm Specification chapter of the UEFI Specification defines the EFI_DECOMPRESS_PROTOCOL, which defines the standard compression algorithm for use with UEFI Drivers stored in PCI Option ROMs.
For example, a portion of the handle database as viewed with the
dh UEFI Shell command might look like the example below. Handle
6 supports the EBC Protocol. Handle
9 is an image handle for a UEFI Service Driver. That UEFI Device Driver installed the EFI_DECOMPRESS_PROTOCOL onto a new handle. The handle created is handle
...6: Ebc...9: Image(Decompress)A: Decompress