Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Extensible Firmware Interface Specification
12-94 12/01/02 Version 1.10
12.4.1 PCI Device Paths
An EFI_PCI_IO_PROTOCOL must be installed on a handle for its services to be available to PCI
device drivers. In addition to the EFI_PCI_IO_PROTOCOL, an EFI_DEVICE_PATH
must also
be installed on the same handle. See Chapter 5 for a detailed description of the
EFI_DEVICE_PATH.
Typically, an ACPI Device Path Node is used to describe a PCI Root Bridge. Depending on the
bus hierarchy in the system, additional device path nodes may precede this ACPI Device Path
Node. A PCI device path is described with PCI Device Path Nodes. There will be one PCI Device
Path node for the PCI controller itself, and one PCI Device Path Node for each PCI to PCI Bridge
that is between the PCI controller and the PCI Root Bridge.
Table 12-12 shows an example device path for a PCI controller that is located at PCI device
number 0x07 and PCI function 0x00, and is directly attached to a PCI root bridge. This device path
consists of an ACPI Device Path Node, a PCI Device Path Node, and a Device Path End Structure.
The _HID and _UID must match the ACPI table description of the PCI Root Bridge. The
shorthand notation for this device path is:
ACPI(PNP0A03,0)/PCI(7|0).
Table 12-12. PCI Device 7, Function 0 on PCI Root Bridge 0
Byte
Offset
Byte
Length
Data
Description
0x00 0x01 0x02 Generic Device Path Header Type ACPI Device Path
0x01 0x01 0x01 Sub type ACPI Device Path
0x02 0x02 0x0C Length 0x0C bytes
0x04 0x04 0x41D0,
0x0A03
_HID PNP0A03 0x41D0 represents a compressed string PNP and is in
the low order bytes
0x08 0x04 0x0000 _UID
0x0C 0x01 0x01 Generic Device Path Header Type Hardware Device Path
0x0D 0x01 0x01 Sub type PCI
0x0E 0x02 0x06 Length 0x06 bytes
0x10 0x01 0x00 PCI Function
0x11 0x01 0x07 PCI Device
0x12 0x01 0xFF Generic Device Path Header Type End of Hardware Device Path
0x13 0x01 0xFF Sub type End of Entire Device Path
0x14 0x02 0x04 Length 0x04 bytes