\r
**/\r
\r
-\r
#include <Uefi.h>\r
#include <Library/BaseLib.h>\r
#include <Library/DebugLib.h>\r
\r
#include <IndustryStandard/Scsi.h>\r
\r
-\r
- //\r
- // Scsi Command Length\r
- //\r
+//\r
+// Scsi Command Length\r
+//\r
#define EFI_SCSI_OP_LENGTH_SIX 0x6\r
#define EFI_SCSI_OP_LENGTH_TEN 0xa\r
#define EFI_SCSI_OP_LENGTH_TWELVE 0xc\r
/// The SCSI request packet to send to the SCSI controller specified by\r
/// the device handle.\r
///\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
///\r
/// The length of the output sense data.\r
///\r
- UINT8 *SenseDataLength;\r
+ UINT8 *SenseDataLength;\r
///\r
/// The status of the SCSI host adapter.\r
///\r
- UINT8 *HostAdapterStatus;\r
+ UINT8 *HostAdapterStatus;\r
///\r
/// The status of the target SCSI device.\r
///\r
- UINT8 *TargetStatus;\r
+ UINT8 *TargetStatus;\r
///\r
/// The length of the data buffer for the SCSI read/write command.\r
///\r
- UINT32 *DataLength;\r
+ UINT32 *DataLength;\r
///\r
/// The caller event to be signaled when the SCSI read/write command\r
/// completes.\r
///\r
- EFI_EVENT CallerEvent;\r
+ EFI_EVENT CallerEvent;\r
} EFI_SCSI_LIB_ASYNC_CONTEXT;\r
\r
-\r
-\r
/**\r
Execute Test Unit Ready SCSI command on a specific SCSI target.\r
\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus\r
)\r
{\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIX];\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIX];\r
\r
ASSERT (SenseDataLength != NULL);\r
ASSERT (HostAdapterStatus != NULL);\r
ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET));\r
ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_SIX);\r
\r
- CommandPacket.Timeout = Timeout;\r
- CommandPacket.InDataBuffer = NULL;\r
- CommandPacket.InTransferLength= 0;\r
- CommandPacket.OutDataBuffer = NULL;\r
- CommandPacket.OutTransferLength= 0;\r
- CommandPacket.SenseData = SenseData;\r
- CommandPacket.Cdb = Cdb;\r
+ CommandPacket.Timeout = Timeout;\r
+ CommandPacket.InDataBuffer = NULL;\r
+ CommandPacket.InTransferLength = 0;\r
+ CommandPacket.OutDataBuffer = NULL;\r
+ CommandPacket.OutTransferLength = 0;\r
+ CommandPacket.SenseData = SenseData;\r
+ CommandPacket.Cdb = Cdb;\r
//\r
// Fill Cdb for Test Unit Ready Command\r
//\r
Cdb[0] = EFI_SCSI_OP_TEST_UNIT_READY;\r
- CommandPacket.CdbLength = (UINT8) EFI_SCSI_OP_LENGTH_SIX;\r
+ CommandPacket.CdbLength = (UINT8)EFI_SCSI_OP_LENGTH_SIX;\r
CommandPacket.SenseDataLength = *SenseDataLength;\r
\r
- Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
+ Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
\r
- *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
- *TargetStatus = CommandPacket.TargetStatus;\r
- *SenseDataLength = CommandPacket.SenseDataLength;\r
+ *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
+ *TargetStatus = CommandPacket.TargetStatus;\r
+ *SenseDataLength = CommandPacket.SenseDataLength;\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Execute Inquiry SCSI command on a specific SCSI target.\r
\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN OUT VOID *InquiryDataBuffer OPTIONAL,\r
IN OUT UINT32 *InquiryDataLength,\r
IN BOOLEAN EnableVitalProductData,\r
IN UINT8 PageCode\r
)\r
{\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIX];\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIX];\r
\r
ASSERT (SenseDataLength != NULL);\r
ASSERT (HostAdapterStatus != NULL);\r
ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET));\r
ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_SIX);\r
\r
- CommandPacket.Timeout = Timeout;\r
- CommandPacket.InDataBuffer = InquiryDataBuffer;\r
- CommandPacket.InTransferLength= *InquiryDataLength;\r
- CommandPacket.SenseData = SenseData;\r
- CommandPacket.SenseDataLength = *SenseDataLength;\r
- CommandPacket.Cdb = Cdb;\r
+ CommandPacket.Timeout = Timeout;\r
+ CommandPacket.InDataBuffer = InquiryDataBuffer;\r
+ CommandPacket.InTransferLength = *InquiryDataLength;\r
+ CommandPacket.SenseData = SenseData;\r
+ CommandPacket.SenseDataLength = *SenseDataLength;\r
+ CommandPacket.Cdb = Cdb;\r
\r
- Cdb[0] = EFI_SCSI_OP_INQUIRY;\r
+ Cdb[0] = EFI_SCSI_OP_INQUIRY;\r
if (EnableVitalProductData) {\r
Cdb[1] |= 0x01;\r
Cdb[2] = PageCode;\r
*InquiryDataLength = 0xff;\r
}\r
\r
- Cdb[4] = (UINT8) (*InquiryDataLength);\r
- CommandPacket.CdbLength = (UINT8) EFI_SCSI_OP_LENGTH_SIX;\r
+ Cdb[4] = (UINT8)(*InquiryDataLength);\r
+ CommandPacket.CdbLength = (UINT8)EFI_SCSI_OP_LENGTH_SIX;\r
CommandPacket.DataDirection = EFI_SCSI_DATA_IN;\r
\r
- Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
+ Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
\r
- *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
- *TargetStatus = CommandPacket.TargetStatus;\r
- *SenseDataLength = CommandPacket.SenseDataLength;\r
- *InquiryDataLength = CommandPacket.InTransferLength;\r
+ *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
+ *TargetStatus = CommandPacket.TargetStatus;\r
+ *SenseDataLength = CommandPacket.SenseDataLength;\r
+ *InquiryDataLength = CommandPacket.InTransferLength;\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Execute Inquiry SCSI command on a specific SCSI target.\r
\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN OUT VOID *InquiryDataBuffer OPTIONAL,\r
IN OUT UINT32 *InquiryDataLength,\r
IN BOOLEAN EnableVitalProductData\r
EFI_STATUS\r
EFIAPI\r
ScsiModeSense10Command (\r
- IN EFI_SCSI_IO_PROTOCOL *ScsiIo,\r
- IN UINT64 Timeout,\r
- IN OUT VOID *SenseData OPTIONAL,\r
- IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
- IN OUT VOID *DataBuffer OPTIONAL,\r
- IN OUT UINT32 *DataLength,\r
- IN UINT8 DBDField OPTIONAL,\r
- IN UINT8 PageControl,\r
- IN UINT8 PageCode\r
+ IN EFI_SCSI_IO_PROTOCOL *ScsiIo,\r
+ IN UINT64 Timeout,\r
+ IN OUT VOID *SenseData OPTIONAL,\r
+ IN OUT UINT8 *SenseDataLength,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
+ IN OUT VOID *DataBuffer OPTIONAL,\r
+ IN OUT UINT32 *DataLength,\r
+ IN UINT8 DBDField OPTIONAL,\r
+ IN UINT8 PageControl,\r
+ IN UINT8 PageCode\r
)\r
{\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN];\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN];\r
\r
ASSERT (SenseDataLength != NULL);\r
ASSERT (HostAdapterStatus != NULL);\r
ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET));\r
ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_TEN);\r
\r
- CommandPacket.Timeout = Timeout;\r
- CommandPacket.InDataBuffer = DataBuffer;\r
- CommandPacket.SenseData = SenseData;\r
- CommandPacket.InTransferLength= *DataLength;\r
- CommandPacket.Cdb = Cdb;\r
+ CommandPacket.Timeout = Timeout;\r
+ CommandPacket.InDataBuffer = DataBuffer;\r
+ CommandPacket.SenseData = SenseData;\r
+ CommandPacket.InTransferLength = *DataLength;\r
+ CommandPacket.Cdb = Cdb;\r
//\r
// Fill Cdb for Mode Sense (10) Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_MODE_SEN10;\r
+ Cdb[0] = EFI_SCSI_OP_MODE_SEN10;\r
//\r
// DBDField is in Cdb[1] bit3 of (bit7..0)\r
//\r
- Cdb[1] = (UINT8) ((DBDField << 3) & 0x08);\r
+ Cdb[1] = (UINT8)((DBDField << 3) & 0x08);\r
//\r
// PageControl is in Cdb[2] bit7..6, PageCode is in Cdb[2] bit5..0\r
//\r
- Cdb[2] = (UINT8) (((PageControl << 6) & 0xc0) | (PageCode & 0x3f));\r
- Cdb[7] = (UINT8) (*DataLength >> 8);\r
- Cdb[8] = (UINT8) (*DataLength);\r
+ Cdb[2] = (UINT8)(((PageControl << 6) & 0xc0) | (PageCode & 0x3f));\r
+ Cdb[7] = (UINT8)(*DataLength >> 8);\r
+ Cdb[8] = (UINT8)(*DataLength);\r
\r
CommandPacket.CdbLength = EFI_SCSI_OP_LENGTH_TEN;\r
CommandPacket.DataDirection = EFI_SCSI_DATA_IN;\r
CommandPacket.SenseDataLength = *SenseDataLength;\r
\r
- Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
+ Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
\r
- *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
- *TargetStatus = CommandPacket.TargetStatus;\r
- *SenseDataLength = CommandPacket.SenseDataLength;\r
- *DataLength = CommandPacket.InTransferLength;\r
+ *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
+ *TargetStatus = CommandPacket.TargetStatus;\r
+ *SenseDataLength = CommandPacket.SenseDataLength;\r
+ *DataLength = CommandPacket.InTransferLength;\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Execute Request Sense SCSI command on a specific SCSI target.\r
\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus\r
)\r
{\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIX];\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIX];\r
\r
ASSERT (SenseDataLength != NULL);\r
ASSERT (HostAdapterStatus != NULL);\r
ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET));\r
ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_SIX);\r
\r
- CommandPacket.Timeout = Timeout;\r
- CommandPacket.InDataBuffer = SenseData;\r
- CommandPacket.SenseData = NULL;\r
- CommandPacket.InTransferLength= *SenseDataLength;\r
- CommandPacket.Cdb = Cdb;\r
+ CommandPacket.Timeout = Timeout;\r
+ CommandPacket.InDataBuffer = SenseData;\r
+ CommandPacket.SenseData = NULL;\r
+ CommandPacket.InTransferLength = *SenseDataLength;\r
+ CommandPacket.Cdb = Cdb;\r
//\r
// Fill Cdb for Request Sense Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_REQUEST_SENSE;\r
- Cdb[4] = (UINT8) (*SenseDataLength);\r
+ Cdb[0] = EFI_SCSI_OP_REQUEST_SENSE;\r
+ Cdb[4] = (UINT8)(*SenseDataLength);\r
\r
- CommandPacket.CdbLength = (UINT8) EFI_SCSI_OP_LENGTH_SIX;\r
+ CommandPacket.CdbLength = (UINT8)EFI_SCSI_OP_LENGTH_SIX;\r
CommandPacket.DataDirection = EFI_SCSI_DATA_IN;\r
CommandPacket.SenseDataLength = 0;\r
\r
- Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
+ Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
\r
- *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
- *TargetStatus = CommandPacket.TargetStatus;\r
- *SenseDataLength = (UINT8) CommandPacket.InTransferLength;\r
+ *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
+ *TargetStatus = CommandPacket.TargetStatus;\r
+ *SenseDataLength = (UINT8)CommandPacket.InTransferLength;\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Execute Read Capacity SCSI command on a specific SCSI target.\r
\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN OUT VOID *DataBuffer OPTIONAL,\r
IN OUT UINT32 *DataLength,\r
IN BOOLEAN Pmi\r
)\r
{\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN];\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN];\r
\r
ASSERT (SenseDataLength != NULL);\r
ASSERT (HostAdapterStatus != NULL);\r
ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET));\r
ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_TEN);\r
\r
- CommandPacket.Timeout = Timeout;\r
- CommandPacket.InDataBuffer = DataBuffer;\r
- CommandPacket.SenseData = SenseData;\r
- CommandPacket.InTransferLength= *DataLength;\r
- CommandPacket.Cdb = Cdb;\r
+ CommandPacket.Timeout = Timeout;\r
+ CommandPacket.InDataBuffer = DataBuffer;\r
+ CommandPacket.SenseData = SenseData;\r
+ CommandPacket.InTransferLength = *DataLength;\r
+ CommandPacket.Cdb = Cdb;\r
//\r
// Fill Cdb for Read Capacity Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_READ_CAPACITY;\r
+ Cdb[0] = EFI_SCSI_OP_READ_CAPACITY;\r
if (!Pmi) {\r
//\r
// Partial medium indicator,if Pmi is FALSE, the Cdb.2 ~ Cdb.5 MUST BE ZERO.\r
CommandPacket.DataDirection = EFI_SCSI_DATA_IN;\r
CommandPacket.SenseDataLength = *SenseDataLength;\r
\r
- Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
+ Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
\r
- *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
- *TargetStatus = CommandPacket.TargetStatus;\r
- *SenseDataLength = CommandPacket.SenseDataLength;\r
- *DataLength = CommandPacket.InTransferLength;\r
+ *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
+ *TargetStatus = CommandPacket.TargetStatus;\r
+ *SenseDataLength = CommandPacket.SenseDataLength;\r
+ *DataLength = CommandPacket.InTransferLength;\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Execute Read Capacity SCSI 16 command on a specific SCSI target.\r
\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN OUT VOID *DataBuffer OPTIONAL,\r
IN OUT UINT32 *DataLength,\r
IN BOOLEAN Pmi\r
)\r
{\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 Cdb[16];\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 Cdb[16];\r
\r
ASSERT (SenseDataLength != NULL);\r
ASSERT (HostAdapterStatus != NULL);\r
ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET));\r
ZeroMem (Cdb, 16);\r
\r
- CommandPacket.Timeout = Timeout;\r
- CommandPacket.InDataBuffer = DataBuffer;\r
- CommandPacket.SenseData = SenseData;\r
- CommandPacket.InTransferLength= *DataLength;\r
- CommandPacket.Cdb = Cdb;\r
+ CommandPacket.Timeout = Timeout;\r
+ CommandPacket.InDataBuffer = DataBuffer;\r
+ CommandPacket.SenseData = SenseData;\r
+ CommandPacket.InTransferLength = *DataLength;\r
+ CommandPacket.Cdb = Cdb;\r
//\r
// Fill Cdb for Read Capacity Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_READ_CAPACITY16;\r
- Cdb[1] = 0x10;\r
+ Cdb[0] = EFI_SCSI_OP_READ_CAPACITY16;\r
+ Cdb[1] = 0x10;\r
if (!Pmi) {\r
//\r
// Partial medium indicator,if Pmi is FALSE, the Cdb.2 ~ Cdb.9 MUST BE ZERO.\r
Cdb[14] |= 0x01;\r
}\r
\r
- Cdb[13] = 0x20;\r
+ Cdb[13] = 0x20;\r
CommandPacket.CdbLength = 16;\r
CommandPacket.DataDirection = EFI_SCSI_DATA_IN;\r
CommandPacket.SenseDataLength = *SenseDataLength;\r
\r
- Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
+ Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
\r
- *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
- *TargetStatus = CommandPacket.TargetStatus;\r
- *SenseDataLength = CommandPacket.SenseDataLength;\r
- *DataLength = CommandPacket.InTransferLength;\r
+ *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
+ *TargetStatus = CommandPacket.TargetStatus;\r
+ *SenseDataLength = CommandPacket.SenseDataLength;\r
+ *DataLength = CommandPacket.InTransferLength;\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Execute Read(10) SCSI command on a specific SCSI target.\r
\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN OUT VOID *DataBuffer OPTIONAL,\r
IN OUT UINT32 *DataLength,\r
IN UINT32 StartLba,\r
IN UINT32 SectorSize\r
)\r
{\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN];\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN];\r
\r
ASSERT (SenseDataLength != NULL);\r
ASSERT (HostAdapterStatus != NULL);\r
ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET));\r
ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_TEN);\r
\r
- CommandPacket.Timeout = Timeout;\r
- CommandPacket.InDataBuffer = DataBuffer;\r
- CommandPacket.SenseData = SenseData;\r
- CommandPacket.InTransferLength= *DataLength;\r
- CommandPacket.Cdb = Cdb;\r
+ CommandPacket.Timeout = Timeout;\r
+ CommandPacket.InDataBuffer = DataBuffer;\r
+ CommandPacket.SenseData = SenseData;\r
+ CommandPacket.InTransferLength = *DataLength;\r
+ CommandPacket.Cdb = Cdb;\r
//\r
// Fill Cdb for Read (10) Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_READ10;\r
+ Cdb[0] = EFI_SCSI_OP_READ10;\r
WriteUnaligned32 ((UINT32 *)&Cdb[2], SwapBytes32 (StartLba));\r
- WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16) SectorSize));\r
+ WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16)SectorSize));\r
\r
CommandPacket.CdbLength = EFI_SCSI_OP_LENGTH_TEN;\r
CommandPacket.DataDirection = EFI_SCSI_DATA_IN;\r
CommandPacket.SenseDataLength = *SenseDataLength;\r
\r
- Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
+ Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
\r
- *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
- *TargetStatus = CommandPacket.TargetStatus;\r
- *SenseDataLength = CommandPacket.SenseDataLength;\r
- *DataLength = CommandPacket.InTransferLength;\r
+ *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
+ *TargetStatus = CommandPacket.TargetStatus;\r
+ *SenseDataLength = CommandPacket.SenseDataLength;\r
+ *DataLength = CommandPacket.InTransferLength;\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Execute Write(10) SCSI command on a specific SCSI target.\r
\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN OUT VOID *DataBuffer OPTIONAL,\r
IN OUT UINT32 *DataLength,\r
IN UINT32 StartLba,\r
IN UINT32 SectorSize\r
)\r
{\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN];\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN];\r
\r
ASSERT (SenseDataLength != NULL);\r
ASSERT (HostAdapterStatus != NULL);\r
//\r
// Fill Cdb for Write (10) Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_WRITE10;\r
- Cdb[1] = EFI_SCSI_BLOCK_FUA;\r
+ Cdb[0] = EFI_SCSI_OP_WRITE10;\r
+ Cdb[1] = EFI_SCSI_BLOCK_FUA;\r
WriteUnaligned32 ((UINT32 *)&Cdb[2], SwapBytes32 (StartLba));\r
- WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16) SectorSize));\r
+ WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16)SectorSize));\r
\r
CommandPacket.CdbLength = EFI_SCSI_OP_LENGTH_TEN;\r
CommandPacket.DataDirection = EFI_SCSI_DATA_OUT;\r
CommandPacket.SenseDataLength = *SenseDataLength;\r
\r
- Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
+ Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
\r
- *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
- *TargetStatus = CommandPacket.TargetStatus;\r
- *SenseDataLength = CommandPacket.SenseDataLength;\r
- *DataLength = CommandPacket.OutTransferLength;\r
+ *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
+ *TargetStatus = CommandPacket.TargetStatus;\r
+ *SenseDataLength = CommandPacket.SenseDataLength;\r
+ *DataLength = CommandPacket.OutTransferLength;\r
\r
return Status;\r
}\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN OUT VOID *DataBuffer OPTIONAL,\r
IN OUT UINT32 *DataLength,\r
IN UINT64 StartLba,\r
IN UINT32 SectorSize\r
)\r
{\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIXTEEN];\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIXTEEN];\r
\r
ASSERT (SenseDataLength != NULL);\r
ASSERT (HostAdapterStatus != NULL);\r
//\r
// Fill Cdb for Read (16) Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_READ16;\r
+ Cdb[0] = EFI_SCSI_OP_READ16;\r
WriteUnaligned64 ((UINT64 *)&Cdb[2], SwapBytes64 (StartLba));\r
WriteUnaligned32 ((UINT32 *)&Cdb[10], SwapBytes32 (SectorSize));\r
\r
CommandPacket.DataDirection = EFI_SCSI_DATA_IN;\r
CommandPacket.SenseDataLength = *SenseDataLength;\r
\r
- Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
+ Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
\r
- *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
- *TargetStatus = CommandPacket.TargetStatus;\r
- *SenseDataLength = CommandPacket.SenseDataLength;\r
- *DataLength = CommandPacket.InTransferLength;\r
+ *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
+ *TargetStatus = CommandPacket.TargetStatus;\r
+ *SenseDataLength = CommandPacket.SenseDataLength;\r
+ *DataLength = CommandPacket.InTransferLength;\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Execute Write(16) SCSI command on a specific SCSI target.\r
\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN OUT VOID *DataBuffer OPTIONAL,\r
IN OUT UINT32 *DataLength,\r
IN UINT64 StartLba,\r
IN UINT32 SectorSize\r
)\r
{\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIXTEEN];\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIXTEEN];\r
\r
ASSERT (SenseDataLength != NULL);\r
ASSERT (HostAdapterStatus != NULL);\r
//\r
// Fill Cdb for Write (16) Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_WRITE16;\r
- Cdb[1] = EFI_SCSI_BLOCK_FUA;\r
+ Cdb[0] = EFI_SCSI_OP_WRITE16;\r
+ Cdb[1] = EFI_SCSI_BLOCK_FUA;\r
WriteUnaligned64 ((UINT64 *)&Cdb[2], SwapBytes64 (StartLba));\r
WriteUnaligned32 ((UINT32 *)&Cdb[10], SwapBytes32 (SectorSize));\r
\r
CommandPacket.DataDirection = EFI_SCSI_DATA_OUT;\r
CommandPacket.SenseDataLength = *SenseDataLength;\r
\r
- Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
+ Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
\r
- *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
- *TargetStatus = CommandPacket.TargetStatus;\r
- *SenseDataLength = CommandPacket.SenseDataLength;\r
- *DataLength = CommandPacket.OutTransferLength;\r
+ *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
+ *TargetStatus = CommandPacket.TargetStatus;\r
+ *SenseDataLength = CommandPacket.SenseDataLength;\r
+ *DataLength = CommandPacket.OutTransferLength;\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Execute Security Protocol In SCSI command on a specific SCSI target.\r
\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN UINT8 SecurityProtocol,\r
IN UINT16 SecurityProtocolSpecific,\r
IN BOOLEAN Inc512,\r
IN UINTN DataLength,\r
IN OUT VOID *DataBuffer OPTIONAL,\r
- OUT UINTN *TransferLength\r
+ OUT UINTN *TransferLength\r
)\r
{\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 Cdb[EFI_SCSI_OP_LENGTH_TWELVE];\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 Cdb[EFI_SCSI_OP_LENGTH_TWELVE];\r
\r
ASSERT (SenseDataLength != NULL);\r
ASSERT (HostAdapterStatus != NULL);\r
ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET));\r
ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_TWELVE);\r
\r
- CommandPacket.Timeout = Timeout;\r
- CommandPacket.InDataBuffer = DataBuffer;\r
- CommandPacket.SenseData = SenseData;\r
- CommandPacket.InTransferLength = (UINT32) DataLength;\r
- CommandPacket.Cdb = Cdb;\r
+ CommandPacket.Timeout = Timeout;\r
+ CommandPacket.InDataBuffer = DataBuffer;\r
+ CommandPacket.SenseData = SenseData;\r
+ CommandPacket.InTransferLength = (UINT32)DataLength;\r
+ CommandPacket.Cdb = Cdb;\r
//\r
// Fill Cdb for Security Protocol In Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_SECURITY_PROTOCOL_IN;\r
- Cdb[1] = SecurityProtocol;\r
+ Cdb[0] = EFI_SCSI_OP_SECURITY_PROTOCOL_IN;\r
+ Cdb[1] = SecurityProtocol;\r
WriteUnaligned16 ((UINT16 *)&Cdb[2], SwapBytes16 (SecurityProtocolSpecific));\r
\r
if (Inc512) {\r
if (DataLength % 512 != 0) {\r
return EFI_INVALID_PARAMETER;\r
}\r
- Cdb[4] = BIT7;\r
- WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32) DataLength / 512));\r
+\r
+ Cdb[4] = BIT7;\r
+ WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32)DataLength / 512));\r
} else {\r
- WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32) DataLength));\r
+ WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32)DataLength));\r
}\r
\r
CommandPacket.CdbLength = EFI_SCSI_OP_LENGTH_TWELVE;\r
CommandPacket.DataDirection = EFI_SCSI_DATA_IN;\r
CommandPacket.SenseDataLength = *SenseDataLength;\r
\r
- Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
+ Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
\r
- *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
- *TargetStatus = CommandPacket.TargetStatus;\r
- *SenseDataLength = CommandPacket.SenseDataLength;\r
- *TransferLength = (UINTN) CommandPacket.InTransferLength;\r
+ *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
+ *TargetStatus = CommandPacket.TargetStatus;\r
+ *SenseDataLength = CommandPacket.SenseDataLength;\r
+ *TransferLength = (UINTN)CommandPacket.InTransferLength;\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Execute Security Protocol Out SCSI command on a specific SCSI target.\r
\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN UINT8 SecurityProtocol,\r
IN UINT16 SecurityProtocolSpecific,\r
IN BOOLEAN Inc512,\r
IN OUT VOID *DataBuffer OPTIONAL\r
)\r
{\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 Cdb[EFI_SCSI_OP_LENGTH_TWELVE];\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 Cdb[EFI_SCSI_OP_LENGTH_TWELVE];\r
\r
ASSERT (SenseDataLength != NULL);\r
ASSERT (HostAdapterStatus != NULL);\r
CommandPacket.Timeout = Timeout;\r
CommandPacket.OutDataBuffer = DataBuffer;\r
CommandPacket.SenseData = SenseData;\r
- CommandPacket.OutTransferLength = (UINT32) DataLength;\r
+ CommandPacket.OutTransferLength = (UINT32)DataLength;\r
CommandPacket.Cdb = Cdb;\r
//\r
// Fill Cdb for Security Protocol Out Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_SECURITY_PROTOCOL_OUT;\r
- Cdb[1] = SecurityProtocol;\r
+ Cdb[0] = EFI_SCSI_OP_SECURITY_PROTOCOL_OUT;\r
+ Cdb[1] = SecurityProtocol;\r
WriteUnaligned16 ((UINT16 *)&Cdb[2], SwapBytes16 (SecurityProtocolSpecific));\r
\r
if (Inc512) {\r
if (DataLength % 512 != 0) {\r
return EFI_INVALID_PARAMETER;\r
}\r
- Cdb[4] = BIT7;\r
- WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32) DataLength / 512));\r
+\r
+ Cdb[4] = BIT7;\r
+ WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32)DataLength / 512));\r
} else {\r
- WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32) DataLength));\r
+ WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32)DataLength));\r
}\r
\r
CommandPacket.CdbLength = EFI_SCSI_OP_LENGTH_TWELVE;\r
CommandPacket.DataDirection = EFI_SCSI_DATA_OUT;\r
CommandPacket.SenseDataLength = *SenseDataLength;\r
\r
- Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
+ Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL);\r
\r
- *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
- *TargetStatus = CommandPacket.TargetStatus;\r
- *SenseDataLength = CommandPacket.SenseDataLength;\r
+ *HostAdapterStatus = CommandPacket.HostAdapterStatus;\r
+ *TargetStatus = CommandPacket.TargetStatus;\r
+ *SenseDataLength = CommandPacket.SenseDataLength;\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Internal helper notify function in which update the result of the\r
non-blocking SCSI Read/Write commands and signal caller event.\r
IN VOID *Context\r
)\r
{\r
- EFI_SCSI_LIB_ASYNC_CONTEXT *LibContext;\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket;\r
- EFI_EVENT CallerEvent;\r
+ EFI_SCSI_LIB_ASYNC_CONTEXT *LibContext;\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket;\r
+ EFI_EVENT CallerEvent;\r
\r
- LibContext = (EFI_SCSI_LIB_ASYNC_CONTEXT *) Context;\r
+ LibContext = (EFI_SCSI_LIB_ASYNC_CONTEXT *)Context;\r
CommandPacket = &LibContext->CommandPacket;\r
- CallerEvent = LibContext->CallerEvent;\r
+ CallerEvent = LibContext->CallerEvent;\r
\r
//\r
// Update SCSI Read/Write operation results\r
//\r
- *LibContext->SenseDataLength = CommandPacket->SenseDataLength;\r
- *LibContext->HostAdapterStatus = CommandPacket->HostAdapterStatus;\r
- *LibContext->TargetStatus = CommandPacket->TargetStatus;\r
+ *LibContext->SenseDataLength = CommandPacket->SenseDataLength;\r
+ *LibContext->HostAdapterStatus = CommandPacket->HostAdapterStatus;\r
+ *LibContext->TargetStatus = CommandPacket->TargetStatus;\r
if (CommandPacket->InDataBuffer != NULL) {\r
- *LibContext->DataLength = CommandPacket->InTransferLength;\r
+ *LibContext->DataLength = CommandPacket->InTransferLength;\r
} else {\r
- *LibContext->DataLength = CommandPacket->OutTransferLength;\r
+ *LibContext->DataLength = CommandPacket->OutTransferLength;\r
}\r
\r
if (CommandPacket->Cdb != NULL) {\r
FreePool (CommandPacket->Cdb);\r
}\r
+\r
FreePool (Context);\r
\r
gBS->CloseEvent (Event);\r
gBS->SignalEvent (CallerEvent);\r
}\r
\r
-\r
/**\r
Execute blocking/non-blocking Read(10) SCSI command on a specific SCSI\r
target.\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN OUT VOID *DataBuffer OPTIONAL,\r
IN OUT UINT32 *DataLength,\r
IN UINT32 StartLba,\r
IN EFI_EVENT Event OPTIONAL\r
)\r
{\r
- EFI_SCSI_LIB_ASYNC_CONTEXT *Context;\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 *Cdb;\r
- EFI_EVENT SelfEvent;\r
+ EFI_SCSI_LIB_ASYNC_CONTEXT *Context;\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 *Cdb;\r
+ EFI_EVENT SelfEvent;\r
\r
if (Event == NULL) {\r
return ScsiRead10Command (\r
goto ErrorExit;\r
}\r
\r
- Context->SenseDataLength = SenseDataLength;\r
- Context->HostAdapterStatus = HostAdapterStatus;\r
- Context->TargetStatus = TargetStatus;\r
- Context->CallerEvent = Event;\r
+ Context->SenseDataLength = SenseDataLength;\r
+ Context->HostAdapterStatus = HostAdapterStatus;\r
+ Context->TargetStatus = TargetStatus;\r
+ Context->CallerEvent = Event;\r
\r
CommandPacket = &Context->CommandPacket;\r
CommandPacket->Timeout = Timeout;\r
//\r
// Fill Cdb for Read (10) Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_READ10;\r
+ Cdb[0] = EFI_SCSI_OP_READ10;\r
WriteUnaligned32 ((UINT32 *)&Cdb[2], SwapBytes32 (StartLba));\r
- WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16) SectorSize));\r
+ WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16)SectorSize));\r
\r
- CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_TEN;\r
- CommandPacket->DataDirection = EFI_SCSI_DATA_IN;\r
- CommandPacket->SenseDataLength = *SenseDataLength;\r
+ CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_TEN;\r
+ CommandPacket->DataDirection = EFI_SCSI_DATA_IN;\r
+ CommandPacket->SenseDataLength = *SenseDataLength;\r
\r
//\r
// Create Event\r
Context,\r
&SelfEvent\r
);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
goto ErrorExit;\r
}\r
\r
Status = ScsiIo->ExecuteScsiCommand (ScsiIo, CommandPacket, SelfEvent);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
//\r
// Since ScsiLibNotify() will not be signaled if ExecuteScsiCommand()\r
// returns with error, close the event here.\r
return Status;\r
}\r
\r
-\r
/**\r
Execute blocking/non-blocking Write(10) SCSI command on a specific SCSI\r
target.\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN OUT VOID *DataBuffer OPTIONAL,\r
IN OUT UINT32 *DataLength,\r
IN UINT32 StartLba,\r
IN EFI_EVENT Event OPTIONAL\r
)\r
{\r
- EFI_SCSI_LIB_ASYNC_CONTEXT *Context;\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 *Cdb;\r
- EFI_EVENT SelfEvent;\r
+ EFI_SCSI_LIB_ASYNC_CONTEXT *Context;\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 *Cdb;\r
+ EFI_EVENT SelfEvent;\r
\r
if (Event == NULL) {\r
return ScsiWrite10Command (\r
goto ErrorExit;\r
}\r
\r
- Context->SenseDataLength = SenseDataLength;\r
- Context->HostAdapterStatus = HostAdapterStatus;\r
- Context->TargetStatus = TargetStatus;\r
- Context->CallerEvent = Event;\r
+ Context->SenseDataLength = SenseDataLength;\r
+ Context->HostAdapterStatus = HostAdapterStatus;\r
+ Context->TargetStatus = TargetStatus;\r
+ Context->CallerEvent = Event;\r
\r
CommandPacket = &Context->CommandPacket;\r
CommandPacket->Timeout = Timeout;\r
//\r
// Fill Cdb for Write (10) Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_WRITE10;\r
+ Cdb[0] = EFI_SCSI_OP_WRITE10;\r
WriteUnaligned32 ((UINT32 *)&Cdb[2], SwapBytes32 (StartLba));\r
- WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16) SectorSize));\r
+ WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16)SectorSize));\r
\r
- CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_TEN;\r
- CommandPacket->DataDirection = EFI_SCSI_DATA_OUT;\r
- CommandPacket->SenseDataLength = *SenseDataLength;\r
+ CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_TEN;\r
+ CommandPacket->DataDirection = EFI_SCSI_DATA_OUT;\r
+ CommandPacket->SenseDataLength = *SenseDataLength;\r
\r
//\r
// Create Event\r
Context,\r
&SelfEvent\r
);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
goto ErrorExit;\r
}\r
\r
Status = ScsiIo->ExecuteScsiCommand (ScsiIo, CommandPacket, SelfEvent);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
//\r
// Since ScsiLibNotify() will not be signaled if ExecuteScsiCommand()\r
// returns with error, close the event here.\r
return Status;\r
}\r
\r
-\r
/**\r
Execute blocking/non-blocking Read(16) SCSI command on a specific SCSI\r
target.\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN OUT VOID *DataBuffer OPTIONAL,\r
IN OUT UINT32 *DataLength,\r
IN UINT64 StartLba,\r
IN EFI_EVENT Event OPTIONAL\r
)\r
{\r
- EFI_SCSI_LIB_ASYNC_CONTEXT *Context;\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 *Cdb;\r
- EFI_EVENT SelfEvent;\r
+ EFI_SCSI_LIB_ASYNC_CONTEXT *Context;\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 *Cdb;\r
+ EFI_EVENT SelfEvent;\r
\r
if (Event == NULL) {\r
return ScsiRead16Command (\r
goto ErrorExit;\r
}\r
\r
- Context->SenseDataLength = SenseDataLength;\r
- Context->HostAdapterStatus = HostAdapterStatus;\r
- Context->TargetStatus = TargetStatus;\r
- Context->CallerEvent = Event;\r
+ Context->SenseDataLength = SenseDataLength;\r
+ Context->HostAdapterStatus = HostAdapterStatus;\r
+ Context->TargetStatus = TargetStatus;\r
+ Context->CallerEvent = Event;\r
\r
CommandPacket = &Context->CommandPacket;\r
CommandPacket->Timeout = Timeout;\r
//\r
// Fill Cdb for Read (16) Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_READ16;\r
+ Cdb[0] = EFI_SCSI_OP_READ16;\r
WriteUnaligned64 ((UINT64 *)&Cdb[2], SwapBytes64 (StartLba));\r
WriteUnaligned32 ((UINT32 *)&Cdb[10], SwapBytes32 (SectorSize));\r
\r
- CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_SIXTEEN;\r
- CommandPacket->DataDirection = EFI_SCSI_DATA_IN;\r
- CommandPacket->SenseDataLength = *SenseDataLength;\r
+ CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_SIXTEEN;\r
+ CommandPacket->DataDirection = EFI_SCSI_DATA_IN;\r
+ CommandPacket->SenseDataLength = *SenseDataLength;\r
\r
//\r
// Create Event\r
Context,\r
&SelfEvent\r
);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
goto ErrorExit;\r
}\r
\r
Status = ScsiIo->ExecuteScsiCommand (ScsiIo, CommandPacket, SelfEvent);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
//\r
// Since ScsiLibNotify() will not be signaled if ExecuteScsiCommand()\r
// returns with error, close the event here.\r
return Status;\r
}\r
\r
-\r
/**\r
Execute blocking/non-blocking Write(16) SCSI command on a specific SCSI\r
target.\r
IN UINT64 Timeout,\r
IN OUT VOID *SenseData OPTIONAL,\r
IN OUT UINT8 *SenseDataLength,\r
- OUT UINT8 *HostAdapterStatus,\r
- OUT UINT8 *TargetStatus,\r
+ OUT UINT8 *HostAdapterStatus,\r
+ OUT UINT8 *TargetStatus,\r
IN OUT VOID *DataBuffer OPTIONAL,\r
IN OUT UINT32 *DataLength,\r
IN UINT64 StartLba,\r
IN EFI_EVENT Event OPTIONAL\r
)\r
{\r
- EFI_SCSI_LIB_ASYNC_CONTEXT *Context;\r
- EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket;\r
- EFI_STATUS Status;\r
- UINT8 *Cdb;\r
- EFI_EVENT SelfEvent;\r
+ EFI_SCSI_LIB_ASYNC_CONTEXT *Context;\r
+ EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket;\r
+ EFI_STATUS Status;\r
+ UINT8 *Cdb;\r
+ EFI_EVENT SelfEvent;\r
\r
if (Event == NULL) {\r
return ScsiWrite16Command (\r
goto ErrorExit;\r
}\r
\r
- Context->SenseDataLength = SenseDataLength;\r
- Context->HostAdapterStatus = HostAdapterStatus;\r
- Context->TargetStatus = TargetStatus;\r
- Context->CallerEvent = Event;\r
+ Context->SenseDataLength = SenseDataLength;\r
+ Context->HostAdapterStatus = HostAdapterStatus;\r
+ Context->TargetStatus = TargetStatus;\r
+ Context->CallerEvent = Event;\r
\r
CommandPacket = &Context->CommandPacket;\r
CommandPacket->Timeout = Timeout;\r
//\r
// Fill Cdb for Write (16) Command\r
//\r
- Cdb[0] = EFI_SCSI_OP_WRITE16;\r
+ Cdb[0] = EFI_SCSI_OP_WRITE16;\r
WriteUnaligned64 ((UINT64 *)&Cdb[2], SwapBytes64 (StartLba));\r
WriteUnaligned32 ((UINT32 *)&Cdb[10], SwapBytes32 (SectorSize));\r
\r
- CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_SIXTEEN;\r
- CommandPacket->DataDirection = EFI_SCSI_DATA_OUT;\r
- CommandPacket->SenseDataLength = *SenseDataLength;\r
+ CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_SIXTEEN;\r
+ CommandPacket->DataDirection = EFI_SCSI_DATA_OUT;\r
+ CommandPacket->SenseDataLength = *SenseDataLength;\r
\r
//\r
// Create Event\r
Context,\r
&SelfEvent\r
);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
goto ErrorExit;\r
}\r
\r
Status = ScsiIo->ExecuteScsiCommand (ScsiIo, CommandPacket, SelfEvent);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
//\r
// Since ScsiLibNotify() will not be signaled if ExecuteScsiCommand()\r
// returns with error, close the event here.\r