1 driver binding protocol for pci bus drivers – Intel Extensible Firmware Interface User Manual

Page 468

Advertising
background image

Extensible Firmware Interface Specification

12-50

12/01/02

Version 1.10

12.3.2.1 Driver Binding Protocol for PCI Bus Drivers

The Driver Binding Protocol contains three services. These are

Supported()

,

Start()

, and

Stop()

.

Supported()

tests to see if the PCI Bus Driver can manage a device handle. A PCI

Bus Driver can only manage device handles that contain the Device Path Protocol and the PCI Root
Bridge I/O Protocol, so a PCI Bus Driver must look for these two protocols on the device handle
that is being tested.

The

Start()

function tells the PCI Bus Driver to start managing a device handle. The device

handle should support the protocols shown in Figure 12-10. The PCI Root Bridge I/O Protocols
provides access to the PCI I/O, PCI Memory, PCI Prefetchable Memory, and PCI DMA functions.
The PCI Controllers behind a PCI Root Bridge may exist on one or more PCI Buses. The standard
mechanism for expanding the number of PCI Buses on a single PCI Root Bridge is to use PCI to
PCI Bridges. Once a PCI Enumerator configures these bridges, they are invisible to software. As a
result, the PCI Bus Driver flattens the PCI Bus hierarchy when it starts managing a device handle
that represents a PCI Host Controller. Figure 12-11 shows the physical tree structure for a set of
PCI Device denoted by A, B, C, D, and E. Device A and C are PCI to PCI Bridges.

OM13166

PCI Bus 1

PCI ROOT BRIDGE

A - PPB

B

C - PPB

D

PCI Bus 2

E

Figure 12-11. Physical PCI Bus Structure

Figure 12-12 shows the tree structure generated by a PCI Bus Driver before and after

Start()

is

called. This is a logical view of set of PCI controller, and not a physical view. The physical tree is
flattened, so any PCI to PCI bridge devices are invisible. In this example, the PCI Bus Driver finds
the five child PCI Controllers on the PCI Bus from Figure 12-11. A device handle is created for
every PCI Controller including all the PCI to PCI Bridges. The arrow with the dashed line coming
into the PCI Host Bus Controller represents a link to the PCI Host Bus Controller’s parent. If the
PCI Host Bus Controller is a Root Bus Controller, then it will not have a parent. The PCI Driver
Model does not require that a PCI Host Bus Controller be a Root Bus Controller. A PCI Host Bus

Advertising