2 scsi pass thru device paths – Intel Extensible Firmware Interface User Manual
Page 538
Extensible Firmware Interface Specification
13-18
12/01/02
Version 1.10
13.2 SCSI Pass Thru Device Paths
must be installed on a handle for its services to be
available to EFI Drivers and EFI Applications. In addition to the
EFI_SCSI_PASS_THRU_PROTOCOL
must also be
installed on the same handle. See Chapter 8 for a detailed description of the
EFI_DEVICE_PATH_PROTOCOL
.
A device path describes the location of a hardware component in a system from the processor’s
point of view. This includes the list of busses that lie between the processor and the SCSI
controller. The EFI Specification takes advantage of the ACPI Specification to name system
components. For the following set of examples, a PCI SCSI controller is assumed. The examples
will show a SCSI controller on the root PCI bus, and a SCSI controller behind a PCI-PCI bridge. In
addition, an example of a multichannel SCSI controller will be shown.
Table 13-1 shows an example device path for a single channel PCI SCSI 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 13-1. Single Channel PCI SCSI Controller
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