Protocols — SCSI Bus Support
Version 1.10 12/01/02 13-3
IoAlign Supplies the alignment requirement for any buffer used in a data
transfer. IoAlign values of 0 and 1 mean that the buffer can
be placed anywhere in memory. Otherwise, IoAlign must be
a power of 2, and the requirement is that the start address of a
buffer must be evenly divisible by IoAlign with no remainder.
Related Definitions
typedef struct {
CHAR16 *ControllerName;
CHAR16 *ChannelName;
UINT32 AdapterId;
UINT32 Attributes;
UINT32 IoAlign;
} EFI_SCSI_PASS_THRU_MODE;
#define EFI_SCSI_PASS_THRU_ATTRIBUTES_PHYSICAL 0x0001
#define EFI_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL 0x0002
#define EFI_SCSI_PASS_THRU_ATTRIBUTES_NONBLOCKIO 0x0004
EFI_SCSI_PASS_THRU_ATTRIBUTES_PHYSICAL
If this bit is set, then the EFI_SCSI_PASS_THRU_PROTOCOL interface is for physical
devices on the SCSI channel.
EFI_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL
If this bit is set, then the EFI_SCSI_PASS_THRU_PROTOCOL interface is for logical
devices on the SCSI channel.
EFI_SCSI_PASS_THRU_ATTRIBUTES_NONBLOCKIO
If this bit is set, then the EFI_SCSI_PASS_THRU_PROTOCOL interface supports non
blocking I/O. Every EFI_SCSI_PASS_THRU_PROTOCOL must support blocking I/O.
The support of nonblocking I/O is optional.