Intel Extensible Firmware Interface User Manual

Page 465

Advertising
background image

Protocols

— PCI Bus Support

Version 1.10

12/01/02

12-47

After a driver has been loaded with the Boot Service

LoadImage()

, it must be started with the

Boot Service

StartImage()

. This is true of all types of EFI Applications and EFI Drivers that

can be loaded and started on an EFI compliant system. The entry point for a driver that follows the
EFI Driver Model must follow some strict rules. First, it is not allowed to touch any hardware.
Instead, it is only allowed to install protocol instances onto its own Image Handle. A driver that
follows the EFI Driver Model is required to install an instance of the Driver Binding Protocol onto
its own Image Handle. It may optionally install the Driver Configuration Protocol, the Driver
Diagnostics Protocol, or the Component Name Protocol. In addition, if a driver wishes to be
unloadable it may optionally update the Loaded Image Protocol to provide its own

Unload()

function. Finally, if a driver needs to perform any special operations when the Boot Service

ExitBootServices()

is called, it may optionally create an event with a notification function

that is triggered when the Boot Service

ExitBootServices()

is called. An Image Handle that

contains a Driver Binding Protocol instance is known as a Driver Image Handle. Figure 12-8
shows a possible configuration for the Image Handle from Figure 12-7 after the Boot Service

StartImage()

has been called.

OM13149

Image Handle

Optional

Optional

Optional

EFI_LOADED_IMAGE_PROTOCOL

EFI_DRIVER_BINDING_PROTOCOL

EFI_DRIVER_CONFIGURATION_PROTOCOL

EFI_DRIVER_DIAGNOSTICS_PROTOCOL

EFI_COMPONENT_NAME_PROTOCOL

Figure 12-8. PCI Driver Image Handle

Advertising