Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Extensible Firmware Interface Specification
12-42 12/01/02 Version 1.10
12.2.1 PCI Root Bridge Device Paths
An EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL must be installed on a handle for its services to
be available to EFI drivers. In addition to the EFI_PCI_ROOT_BRIDGE_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 desktop system will typically contain only one PCI Root Bridge, so there would be one
handle with a EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL and an EFI_DEVICE_PATH. A
server system may contain multiple PCI Root Bridges, so it would contain a handle for each PCI
Root Bridge present, and on each of those handles would be an
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL and an EFI_DEVICE_PATH. In all cases, the
contents of the ACPI Device Path Nodes for PCI Root Bridges must match the information present
in the ACPI tables for that system.
Table 12-4 shows an example device path for a PCI Root Bridge in a desktop system. Today, a
desktop system typically contains one PCI Root Bridge. This device path consists of an ACPI
Device Path Node, and a Device Path End Structure. The _HID and _UID must match the ACPI
table description of the PCI Root Bridge. For a system with only one PCI Root Bridge, the _UID
value is usually 0x0000. The shorthand notation for this device path is ACPI(PNP0A03,0).
Table 12-4. PCI Root Bridge Device Path for a Desktop System
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 0xFF Generic Device Path Header Type End of Hardware Device Path
0x0D 0x01 0xFF Sub type End of Entire Device Path
0x0E 0x02 0x04 Length 0x04 bytes