Intel Extensible Firmware Interface User Manual

Page 469

Advertising
background image

Protocols

— PCI Bus Support

Version 1.10

12/01/02

12-51

Controller can be present at any location in the tree, and the PCI Bus Driver should be able to
manage the PCI Host Bus Controller.

OM13153

Bus Controller

Bus Controller

Start()

Stop()

A

B

C

D

E

Figure 12-12. Connecting a PCI Bus Driver

The PCI Bus Driver has the option of creating all of its children in one call to

Start()

, or

spreading it across several calls to

Start()

. In general, if it is possible to design a bus driver to

create one child at a time, it should do so to support the rapid boot capability in the EFI Driver
Model. Each of the child device handles created in

Start()

must contain a Device Path Protocol

instance, a PCI I/O protocol instance, and optionally a Bus Specific Driver Override Protocol
instance. The PCI I/O Protocol is described in Section 12.4. The format of device paths for PCI
Controllers is described in Section 2.6, and details on the Bus Specific Driver Override Protocol
can be found in the EFI Driver Model Specification. Figure 12-13 shows an example child device
handle that is created by a PCI Bus Driver for a PCI Controller.

OM13167

PCI Controller Device Handle

Optional

EFI_DEVICE_PATH_PROTOCOL

EFI_PCI_I/O_PROTOCOL

EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL

Figure 12-13. Child Handle Created by a PCI Bus Driver

Advertising