Intel Extensible Firmware Interface User Manual

Page 524

Advertising
background image

Extensible Firmware Interface Specification

13-4

12/01/02

Version 1.10

Description

The

EFI_SCSI_PASS_THRU_PROTOCOL

provides information about a SCSI channel and

the ability to send SCI Request Packets to any SCSI device attached to that SCSI channel. The
information includes the Target ID of the host controller on the SCSI channel, the attributes of
the SCSI channel, the printable name for the SCSI controller, and the printable name of the
SCSI channel.

The

Attributes

field of the

EFI_SCSI_PASS_THRU_PROTOCOL

interface tells if the

interface is for physical SCSI devices or logical SCSI devices. Drivers for non-RAID SCSI
controllers will set both the

EFI_SCSI_PASS_THRU_ATTRIBUTES_PHYSICAL

, and the

EFI_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL

bits. Drivers for RAID controllers that

allow access to the physical devices and logical devices will produce two

EFI_SCSI_PASS_THRU_PROTOCOL

interfaces. One with the just the

EFI_SCSI_PASS_THRU_ATTRIBUTES_PHYSICAL

bit set and another with just the

EFI_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL

bit set. One interface can be used to access

the physical devices attached to the RAID controller, and the other can be used to access the logical
devices attached to the RAID controller for its current configuration. Drivers for RAID controllers
that do not allow access to the physical devices will produce one

EFI_SCSI_PASS_THROUGH_PROTOCOL

interface with just the

EFI_SCSI_PASS_THRU_LOGICAL

bit set. The interface for logical devices can also be used by

a file system driver to mount the RAID volumes. An

EFI_SCSI_PASS_THRU_PROTOCOL

with

neither

EFI_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL

nor

EFI_SCSI_PASS_THRU_ATTRIBUTES_PHYSICAL

set is an illegal configuration.

The Attributes field also contains the

EFI_SCSI_PASS_THRU_ATTRIBUTES_NONBLOCKIO

bit. All

EFI_SCSI_PASS_THRU_PROTOCOL

interfaces must support blocking I/O. If this bit is

set, then the interface support both blocking I/O and nonblocking I/O.

Each

EFI_SCSI_PASS_THRU_PROTOCOL

instance must have an associated device path.

Typically this will have an ACPI device path node and a PCI device path node, although variations
will exist. For a SCSI controller that supports only one channel per PCI bus/device/function, it is
recommended, but not required, that an additional Controller device path node (for controller 0) be
appended to the device path. For a SCSI controller that supports multiple channels per PCI
bus/device/function, it is required that a Controller device path node be appended for each channel.

Additional information about the SCSI channel can be obtained from protocols attached to the

same handle as the

EFI_SCSI_PASS_THRU_PROTOCOL

, or one of its parent handles. This

would include the device I/O abstraction used to access the internal registers and functions of the
SCSI controller.

Advertising