Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
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 Controllers 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