Intel Extensible Firmware Interface Network Router User Manual


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