X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FLibrary%2FUefiScsiLib%2FUefiScsiLib.c;fp=MdePkg%2FLibrary%2FUefiScsiLib%2FUefiScsiLib.c;h=a33cadd716462a6c79854c93e58b7bc6f13e07b7;hp=28c7dd6074df82c41f283e40bac7d2abecf1191b;hb=2f88bd3a1296c522317f1c21377876de63de5be7;hpb=1436aea4d5707e672672a11bda72be2c63c936c3 diff --git a/MdePkg/Library/UefiScsiLib/UefiScsiLib.c b/MdePkg/Library/UefiScsiLib/UefiScsiLib.c index 28c7dd6074..a33cadd716 100644 --- a/MdePkg/Library/UefiScsiLib/UefiScsiLib.c +++ b/MdePkg/Library/UefiScsiLib/UefiScsiLib.c @@ -6,7 +6,6 @@ **/ - #include #include #include @@ -17,10 +16,9 @@ #include - - // - // Scsi Command Length - // +// +// Scsi Command Length +// #define EFI_SCSI_OP_LENGTH_SIX 0x6 #define EFI_SCSI_OP_LENGTH_TEN 0xa #define EFI_SCSI_OP_LENGTH_TWELVE 0xc @@ -35,32 +33,30 @@ typedef struct { /// The SCSI request packet to send to the SCSI controller specified by /// the device handle. /// - EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; + EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; /// /// The length of the output sense data. /// - UINT8 *SenseDataLength; + UINT8 *SenseDataLength; /// /// The status of the SCSI host adapter. /// - UINT8 *HostAdapterStatus; + UINT8 *HostAdapterStatus; /// /// The status of the target SCSI device. /// - UINT8 *TargetStatus; + UINT8 *TargetStatus; /// /// The length of the data buffer for the SCSI read/write command. /// - UINT32 *DataLength; + UINT32 *DataLength; /// /// The caller event to be signaled when the SCSI read/write command /// completes. /// - EFI_EVENT CallerEvent; + EFI_EVENT CallerEvent; } EFI_SCSI_LIB_ASYNC_CONTEXT; - - /** Execute Test Unit Ready SCSI command on a specific SCSI target. @@ -135,13 +131,13 @@ ScsiTestUnitReadyCommand ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus ) { - EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; - EFI_STATUS Status; - UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIX]; + EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; + EFI_STATUS Status; + UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIX]; ASSERT (SenseDataLength != NULL); ASSERT (HostAdapterStatus != NULL); @@ -151,30 +147,29 @@ ScsiTestUnitReadyCommand ( ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET)); ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_SIX); - CommandPacket.Timeout = Timeout; - CommandPacket.InDataBuffer = NULL; - CommandPacket.InTransferLength= 0; - CommandPacket.OutDataBuffer = NULL; - CommandPacket.OutTransferLength= 0; - CommandPacket.SenseData = SenseData; - CommandPacket.Cdb = Cdb; + CommandPacket.Timeout = Timeout; + CommandPacket.InDataBuffer = NULL; + CommandPacket.InTransferLength = 0; + CommandPacket.OutDataBuffer = NULL; + CommandPacket.OutTransferLength = 0; + CommandPacket.SenseData = SenseData; + CommandPacket.Cdb = Cdb; // // Fill Cdb for Test Unit Ready Command // Cdb[0] = EFI_SCSI_OP_TEST_UNIT_READY; - CommandPacket.CdbLength = (UINT8) EFI_SCSI_OP_LENGTH_SIX; + CommandPacket.CdbLength = (UINT8)EFI_SCSI_OP_LENGTH_SIX; CommandPacket.SenseDataLength = *SenseDataLength; - Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); + Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); - *HostAdapterStatus = CommandPacket.HostAdapterStatus; - *TargetStatus = CommandPacket.TargetStatus; - *SenseDataLength = CommandPacket.SenseDataLength; + *HostAdapterStatus = CommandPacket.HostAdapterStatus; + *TargetStatus = CommandPacket.TargetStatus; + *SenseDataLength = CommandPacket.SenseDataLength; return Status; } - /** Execute Inquiry SCSI command on a specific SCSI target. @@ -271,17 +266,17 @@ ScsiInquiryCommandEx ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN OUT VOID *InquiryDataBuffer OPTIONAL, IN OUT UINT32 *InquiryDataLength, IN BOOLEAN EnableVitalProductData, IN UINT8 PageCode ) { - EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; - EFI_STATUS Status; - UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIX]; + EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; + EFI_STATUS Status; + UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIX]; ASSERT (SenseDataLength != NULL); ASSERT (HostAdapterStatus != NULL); @@ -292,14 +287,14 @@ ScsiInquiryCommandEx ( ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET)); ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_SIX); - CommandPacket.Timeout = Timeout; - CommandPacket.InDataBuffer = InquiryDataBuffer; - CommandPacket.InTransferLength= *InquiryDataLength; - CommandPacket.SenseData = SenseData; - CommandPacket.SenseDataLength = *SenseDataLength; - CommandPacket.Cdb = Cdb; + CommandPacket.Timeout = Timeout; + CommandPacket.InDataBuffer = InquiryDataBuffer; + CommandPacket.InTransferLength = *InquiryDataLength; + CommandPacket.SenseData = SenseData; + CommandPacket.SenseDataLength = *SenseDataLength; + CommandPacket.Cdb = Cdb; - Cdb[0] = EFI_SCSI_OP_INQUIRY; + Cdb[0] = EFI_SCSI_OP_INQUIRY; if (EnableVitalProductData) { Cdb[1] |= 0x01; Cdb[2] = PageCode; @@ -309,21 +304,20 @@ ScsiInquiryCommandEx ( *InquiryDataLength = 0xff; } - Cdb[4] = (UINT8) (*InquiryDataLength); - CommandPacket.CdbLength = (UINT8) EFI_SCSI_OP_LENGTH_SIX; + Cdb[4] = (UINT8)(*InquiryDataLength); + CommandPacket.CdbLength = (UINT8)EFI_SCSI_OP_LENGTH_SIX; CommandPacket.DataDirection = EFI_SCSI_DATA_IN; - Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); + Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); - *HostAdapterStatus = CommandPacket.HostAdapterStatus; - *TargetStatus = CommandPacket.TargetStatus; - *SenseDataLength = CommandPacket.SenseDataLength; - *InquiryDataLength = CommandPacket.InTransferLength; + *HostAdapterStatus = CommandPacket.HostAdapterStatus; + *TargetStatus = CommandPacket.TargetStatus; + *SenseDataLength = CommandPacket.SenseDataLength; + *InquiryDataLength = CommandPacket.InTransferLength; return Status; } - /** Execute Inquiry SCSI command on a specific SCSI target. @@ -418,8 +412,8 @@ ScsiInquiryCommand ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN OUT VOID *InquiryDataBuffer OPTIONAL, IN OUT UINT32 *InquiryDataLength, IN BOOLEAN EnableVitalProductData @@ -531,22 +525,22 @@ ScsiInquiryCommand ( EFI_STATUS EFIAPI ScsiModeSense10Command ( - IN EFI_SCSI_IO_PROTOCOL *ScsiIo, - IN UINT64 Timeout, - IN OUT VOID *SenseData OPTIONAL, - IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, - IN OUT VOID *DataBuffer OPTIONAL, - IN OUT UINT32 *DataLength, - IN UINT8 DBDField OPTIONAL, - IN UINT8 PageControl, - IN UINT8 PageCode + IN EFI_SCSI_IO_PROTOCOL *ScsiIo, + IN UINT64 Timeout, + IN OUT VOID *SenseData OPTIONAL, + IN OUT UINT8 *SenseDataLength, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, + IN OUT VOID *DataBuffer OPTIONAL, + IN OUT UINT32 *DataLength, + IN UINT8 DBDField OPTIONAL, + IN UINT8 PageControl, + IN UINT8 PageCode ) { - EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; - EFI_STATUS Status; - UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN]; + EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; + EFI_STATUS Status; + UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN]; ASSERT (SenseDataLength != NULL); ASSERT (HostAdapterStatus != NULL); @@ -557,41 +551,40 @@ ScsiModeSense10Command ( ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET)); ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_TEN); - CommandPacket.Timeout = Timeout; - CommandPacket.InDataBuffer = DataBuffer; - CommandPacket.SenseData = SenseData; - CommandPacket.InTransferLength= *DataLength; - CommandPacket.Cdb = Cdb; + CommandPacket.Timeout = Timeout; + CommandPacket.InDataBuffer = DataBuffer; + CommandPacket.SenseData = SenseData; + CommandPacket.InTransferLength = *DataLength; + CommandPacket.Cdb = Cdb; // // Fill Cdb for Mode Sense (10) Command // - Cdb[0] = EFI_SCSI_OP_MODE_SEN10; + Cdb[0] = EFI_SCSI_OP_MODE_SEN10; // // DBDField is in Cdb[1] bit3 of (bit7..0) // - Cdb[1] = (UINT8) ((DBDField << 3) & 0x08); + Cdb[1] = (UINT8)((DBDField << 3) & 0x08); // // PageControl is in Cdb[2] bit7..6, PageCode is in Cdb[2] bit5..0 // - Cdb[2] = (UINT8) (((PageControl << 6) & 0xc0) | (PageCode & 0x3f)); - Cdb[7] = (UINT8) (*DataLength >> 8); - Cdb[8] = (UINT8) (*DataLength); + Cdb[2] = (UINT8)(((PageControl << 6) & 0xc0) | (PageCode & 0x3f)); + Cdb[7] = (UINT8)(*DataLength >> 8); + Cdb[8] = (UINT8)(*DataLength); CommandPacket.CdbLength = EFI_SCSI_OP_LENGTH_TEN; CommandPacket.DataDirection = EFI_SCSI_DATA_IN; CommandPacket.SenseDataLength = *SenseDataLength; - Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); + Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); - *HostAdapterStatus = CommandPacket.HostAdapterStatus; - *TargetStatus = CommandPacket.TargetStatus; - *SenseDataLength = CommandPacket.SenseDataLength; - *DataLength = CommandPacket.InTransferLength; + *HostAdapterStatus = CommandPacket.HostAdapterStatus; + *TargetStatus = CommandPacket.TargetStatus; + *SenseDataLength = CommandPacket.SenseDataLength; + *DataLength = CommandPacket.InTransferLength; return Status; } - /** Execute Request Sense SCSI command on a specific SCSI target. @@ -631,13 +624,13 @@ ScsiRequestSenseCommand ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus ) { - EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; - EFI_STATUS Status; - UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIX]; + EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; + EFI_STATUS Status; + UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIX]; ASSERT (SenseDataLength != NULL); ASSERT (HostAdapterStatus != NULL); @@ -647,31 +640,30 @@ ScsiRequestSenseCommand ( ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET)); ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_SIX); - CommandPacket.Timeout = Timeout; - CommandPacket.InDataBuffer = SenseData; - CommandPacket.SenseData = NULL; - CommandPacket.InTransferLength= *SenseDataLength; - CommandPacket.Cdb = Cdb; + CommandPacket.Timeout = Timeout; + CommandPacket.InDataBuffer = SenseData; + CommandPacket.SenseData = NULL; + CommandPacket.InTransferLength = *SenseDataLength; + CommandPacket.Cdb = Cdb; // // Fill Cdb for Request Sense Command // - Cdb[0] = EFI_SCSI_OP_REQUEST_SENSE; - Cdb[4] = (UINT8) (*SenseDataLength); + Cdb[0] = EFI_SCSI_OP_REQUEST_SENSE; + Cdb[4] = (UINT8)(*SenseDataLength); - CommandPacket.CdbLength = (UINT8) EFI_SCSI_OP_LENGTH_SIX; + CommandPacket.CdbLength = (UINT8)EFI_SCSI_OP_LENGTH_SIX; CommandPacket.DataDirection = EFI_SCSI_DATA_IN; CommandPacket.SenseDataLength = 0; - Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); + Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); - *HostAdapterStatus = CommandPacket.HostAdapterStatus; - *TargetStatus = CommandPacket.TargetStatus; - *SenseDataLength = (UINT8) CommandPacket.InTransferLength; + *HostAdapterStatus = CommandPacket.HostAdapterStatus; + *TargetStatus = CommandPacket.TargetStatus; + *SenseDataLength = (UINT8)CommandPacket.InTransferLength; return Status; } - /** Execute Read Capacity SCSI command on a specific SCSI target. @@ -723,16 +715,16 @@ ScsiReadCapacityCommand ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN OUT VOID *DataBuffer OPTIONAL, IN OUT UINT32 *DataLength, IN BOOLEAN Pmi ) { - EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; - EFI_STATUS Status; - UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN]; + EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; + EFI_STATUS Status; + UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN]; ASSERT (SenseDataLength != NULL); ASSERT (HostAdapterStatus != NULL); @@ -743,15 +735,15 @@ ScsiReadCapacityCommand ( ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET)); ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_TEN); - CommandPacket.Timeout = Timeout; - CommandPacket.InDataBuffer = DataBuffer; - CommandPacket.SenseData = SenseData; - CommandPacket.InTransferLength= *DataLength; - CommandPacket.Cdb = Cdb; + CommandPacket.Timeout = Timeout; + CommandPacket.InDataBuffer = DataBuffer; + CommandPacket.SenseData = SenseData; + CommandPacket.InTransferLength = *DataLength; + CommandPacket.Cdb = Cdb; // // Fill Cdb for Read Capacity Command // - Cdb[0] = EFI_SCSI_OP_READ_CAPACITY; + Cdb[0] = EFI_SCSI_OP_READ_CAPACITY; if (!Pmi) { // // Partial medium indicator,if Pmi is FALSE, the Cdb.2 ~ Cdb.5 MUST BE ZERO. @@ -765,17 +757,16 @@ ScsiReadCapacityCommand ( CommandPacket.DataDirection = EFI_SCSI_DATA_IN; CommandPacket.SenseDataLength = *SenseDataLength; - Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); + Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); - *HostAdapterStatus = CommandPacket.HostAdapterStatus; - *TargetStatus = CommandPacket.TargetStatus; - *SenseDataLength = CommandPacket.SenseDataLength; - *DataLength = CommandPacket.InTransferLength; + *HostAdapterStatus = CommandPacket.HostAdapterStatus; + *TargetStatus = CommandPacket.TargetStatus; + *SenseDataLength = CommandPacket.SenseDataLength; + *DataLength = CommandPacket.InTransferLength; return Status; } - /** Execute Read Capacity SCSI 16 command on a specific SCSI target. @@ -827,16 +818,16 @@ ScsiReadCapacity16Command ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN OUT VOID *DataBuffer OPTIONAL, IN OUT UINT32 *DataLength, IN BOOLEAN Pmi ) { - EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; - EFI_STATUS Status; - UINT8 Cdb[16]; + EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; + EFI_STATUS Status; + UINT8 Cdb[16]; ASSERT (SenseDataLength != NULL); ASSERT (HostAdapterStatus != NULL); @@ -847,16 +838,16 @@ ScsiReadCapacity16Command ( ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET)); ZeroMem (Cdb, 16); - CommandPacket.Timeout = Timeout; - CommandPacket.InDataBuffer = DataBuffer; - CommandPacket.SenseData = SenseData; - CommandPacket.InTransferLength= *DataLength; - CommandPacket.Cdb = Cdb; + CommandPacket.Timeout = Timeout; + CommandPacket.InDataBuffer = DataBuffer; + CommandPacket.SenseData = SenseData; + CommandPacket.InTransferLength = *DataLength; + CommandPacket.Cdb = Cdb; // // Fill Cdb for Read Capacity Command // - Cdb[0] = EFI_SCSI_OP_READ_CAPACITY16; - Cdb[1] = 0x10; + Cdb[0] = EFI_SCSI_OP_READ_CAPACITY16; + Cdb[1] = 0x10; if (!Pmi) { // // Partial medium indicator,if Pmi is FALSE, the Cdb.2 ~ Cdb.9 MUST BE ZERO. @@ -866,22 +857,21 @@ ScsiReadCapacity16Command ( Cdb[14] |= 0x01; } - Cdb[13] = 0x20; + Cdb[13] = 0x20; CommandPacket.CdbLength = 16; CommandPacket.DataDirection = EFI_SCSI_DATA_IN; CommandPacket.SenseDataLength = *SenseDataLength; - Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); + Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); - *HostAdapterStatus = CommandPacket.HostAdapterStatus; - *TargetStatus = CommandPacket.TargetStatus; - *SenseDataLength = CommandPacket.SenseDataLength; - *DataLength = CommandPacket.InTransferLength; + *HostAdapterStatus = CommandPacket.HostAdapterStatus; + *TargetStatus = CommandPacket.TargetStatus; + *SenseDataLength = CommandPacket.SenseDataLength; + *DataLength = CommandPacket.InTransferLength; return Status; } - /** Execute Read(10) SCSI command on a specific SCSI target. @@ -934,17 +924,17 @@ ScsiRead10Command ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN OUT VOID *DataBuffer OPTIONAL, IN OUT UINT32 *DataLength, IN UINT32 StartLba, IN UINT32 SectorSize ) { - EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; - EFI_STATUS Status; - UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN]; + EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; + EFI_STATUS Status; + UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN]; ASSERT (SenseDataLength != NULL); ASSERT (HostAdapterStatus != NULL); @@ -955,33 +945,32 @@ ScsiRead10Command ( ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET)); ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_TEN); - CommandPacket.Timeout = Timeout; - CommandPacket.InDataBuffer = DataBuffer; - CommandPacket.SenseData = SenseData; - CommandPacket.InTransferLength= *DataLength; - CommandPacket.Cdb = Cdb; + CommandPacket.Timeout = Timeout; + CommandPacket.InDataBuffer = DataBuffer; + CommandPacket.SenseData = SenseData; + CommandPacket.InTransferLength = *DataLength; + CommandPacket.Cdb = Cdb; // // Fill Cdb for Read (10) Command // - Cdb[0] = EFI_SCSI_OP_READ10; + Cdb[0] = EFI_SCSI_OP_READ10; WriteUnaligned32 ((UINT32 *)&Cdb[2], SwapBytes32 (StartLba)); - WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16) SectorSize)); + WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16)SectorSize)); CommandPacket.CdbLength = EFI_SCSI_OP_LENGTH_TEN; CommandPacket.DataDirection = EFI_SCSI_DATA_IN; CommandPacket.SenseDataLength = *SenseDataLength; - Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); + Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); - *HostAdapterStatus = CommandPacket.HostAdapterStatus; - *TargetStatus = CommandPacket.TargetStatus; - *SenseDataLength = CommandPacket.SenseDataLength; - *DataLength = CommandPacket.InTransferLength; + *HostAdapterStatus = CommandPacket.HostAdapterStatus; + *TargetStatus = CommandPacket.TargetStatus; + *SenseDataLength = CommandPacket.SenseDataLength; + *DataLength = CommandPacket.InTransferLength; return Status; } - /** Execute Write(10) SCSI command on a specific SCSI target. @@ -1034,17 +1023,17 @@ ScsiWrite10Command ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN OUT VOID *DataBuffer OPTIONAL, IN OUT UINT32 *DataLength, IN UINT32 StartLba, IN UINT32 SectorSize ) { - EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; - EFI_STATUS Status; - UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN]; + EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; + EFI_STATUS Status; + UINT8 Cdb[EFI_SCSI_OP_LENGTH_TEN]; ASSERT (SenseDataLength != NULL); ASSERT (HostAdapterStatus != NULL); @@ -1063,21 +1052,21 @@ ScsiWrite10Command ( // // Fill Cdb for Write (10) Command // - Cdb[0] = EFI_SCSI_OP_WRITE10; - Cdb[1] = EFI_SCSI_BLOCK_FUA; + Cdb[0] = EFI_SCSI_OP_WRITE10; + Cdb[1] = EFI_SCSI_BLOCK_FUA; WriteUnaligned32 ((UINT32 *)&Cdb[2], SwapBytes32 (StartLba)); - WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16) SectorSize)); + WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16)SectorSize)); CommandPacket.CdbLength = EFI_SCSI_OP_LENGTH_TEN; CommandPacket.DataDirection = EFI_SCSI_DATA_OUT; CommandPacket.SenseDataLength = *SenseDataLength; - Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); + Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); - *HostAdapterStatus = CommandPacket.HostAdapterStatus; - *TargetStatus = CommandPacket.TargetStatus; - *SenseDataLength = CommandPacket.SenseDataLength; - *DataLength = CommandPacket.OutTransferLength; + *HostAdapterStatus = CommandPacket.HostAdapterStatus; + *TargetStatus = CommandPacket.TargetStatus; + *SenseDataLength = CommandPacket.SenseDataLength; + *DataLength = CommandPacket.OutTransferLength; return Status; } @@ -1134,17 +1123,17 @@ ScsiRead16Command ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN OUT VOID *DataBuffer OPTIONAL, IN OUT UINT32 *DataLength, IN UINT64 StartLba, IN UINT32 SectorSize ) { - EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; - EFI_STATUS Status; - UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIXTEEN]; + EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; + EFI_STATUS Status; + UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIXTEEN]; ASSERT (SenseDataLength != NULL); ASSERT (HostAdapterStatus != NULL); @@ -1163,7 +1152,7 @@ ScsiRead16Command ( // // Fill Cdb for Read (16) Command // - Cdb[0] = EFI_SCSI_OP_READ16; + Cdb[0] = EFI_SCSI_OP_READ16; WriteUnaligned64 ((UINT64 *)&Cdb[2], SwapBytes64 (StartLba)); WriteUnaligned32 ((UINT32 *)&Cdb[10], SwapBytes32 (SectorSize)); @@ -1171,17 +1160,16 @@ ScsiRead16Command ( CommandPacket.DataDirection = EFI_SCSI_DATA_IN; CommandPacket.SenseDataLength = *SenseDataLength; - Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); + Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); - *HostAdapterStatus = CommandPacket.HostAdapterStatus; - *TargetStatus = CommandPacket.TargetStatus; - *SenseDataLength = CommandPacket.SenseDataLength; - *DataLength = CommandPacket.InTransferLength; + *HostAdapterStatus = CommandPacket.HostAdapterStatus; + *TargetStatus = CommandPacket.TargetStatus; + *SenseDataLength = CommandPacket.SenseDataLength; + *DataLength = CommandPacket.InTransferLength; return Status; } - /** Execute Write(16) SCSI command on a specific SCSI target. @@ -1234,17 +1222,17 @@ ScsiWrite16Command ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN OUT VOID *DataBuffer OPTIONAL, IN OUT UINT32 *DataLength, IN UINT64 StartLba, IN UINT32 SectorSize ) { - EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; - EFI_STATUS Status; - UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIXTEEN]; + EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; + EFI_STATUS Status; + UINT8 Cdb[EFI_SCSI_OP_LENGTH_SIXTEEN]; ASSERT (SenseDataLength != NULL); ASSERT (HostAdapterStatus != NULL); @@ -1263,8 +1251,8 @@ ScsiWrite16Command ( // // Fill Cdb for Write (16) Command // - Cdb[0] = EFI_SCSI_OP_WRITE16; - Cdb[1] = EFI_SCSI_BLOCK_FUA; + Cdb[0] = EFI_SCSI_OP_WRITE16; + Cdb[1] = EFI_SCSI_BLOCK_FUA; WriteUnaligned64 ((UINT64 *)&Cdb[2], SwapBytes64 (StartLba)); WriteUnaligned32 ((UINT32 *)&Cdb[10], SwapBytes32 (SectorSize)); @@ -1272,17 +1260,16 @@ ScsiWrite16Command ( CommandPacket.DataDirection = EFI_SCSI_DATA_OUT; CommandPacket.SenseDataLength = *SenseDataLength; - Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); + Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); - *HostAdapterStatus = CommandPacket.HostAdapterStatus; - *TargetStatus = CommandPacket.TargetStatus; - *SenseDataLength = CommandPacket.SenseDataLength; - *DataLength = CommandPacket.OutTransferLength; + *HostAdapterStatus = CommandPacket.HostAdapterStatus; + *TargetStatus = CommandPacket.TargetStatus; + *SenseDataLength = CommandPacket.SenseDataLength; + *DataLength = CommandPacket.OutTransferLength; return Status; } - /** Execute Security Protocol In SCSI command on a specific SCSI target. @@ -1338,19 +1325,19 @@ ScsiSecurityProtocolInCommand ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN UINT8 SecurityProtocol, IN UINT16 SecurityProtocolSpecific, IN BOOLEAN Inc512, IN UINTN DataLength, IN OUT VOID *DataBuffer OPTIONAL, - OUT UINTN *TransferLength + OUT UINTN *TransferLength ) { - EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; - EFI_STATUS Status; - UINT8 Cdb[EFI_SCSI_OP_LENGTH_TWELVE]; + EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; + EFI_STATUS Status; + UINT8 Cdb[EFI_SCSI_OP_LENGTH_TWELVE]; ASSERT (SenseDataLength != NULL); ASSERT (HostAdapterStatus != NULL); @@ -1362,43 +1349,43 @@ ScsiSecurityProtocolInCommand ( ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET)); ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_TWELVE); - CommandPacket.Timeout = Timeout; - CommandPacket.InDataBuffer = DataBuffer; - CommandPacket.SenseData = SenseData; - CommandPacket.InTransferLength = (UINT32) DataLength; - CommandPacket.Cdb = Cdb; + CommandPacket.Timeout = Timeout; + CommandPacket.InDataBuffer = DataBuffer; + CommandPacket.SenseData = SenseData; + CommandPacket.InTransferLength = (UINT32)DataLength; + CommandPacket.Cdb = Cdb; // // Fill Cdb for Security Protocol In Command // - Cdb[0] = EFI_SCSI_OP_SECURITY_PROTOCOL_IN; - Cdb[1] = SecurityProtocol; + Cdb[0] = EFI_SCSI_OP_SECURITY_PROTOCOL_IN; + Cdb[1] = SecurityProtocol; WriteUnaligned16 ((UINT16 *)&Cdb[2], SwapBytes16 (SecurityProtocolSpecific)); if (Inc512) { if (DataLength % 512 != 0) { return EFI_INVALID_PARAMETER; } - Cdb[4] = BIT7; - WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32) DataLength / 512)); + + Cdb[4] = BIT7; + WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32)DataLength / 512)); } else { - WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32) DataLength)); + WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32)DataLength)); } CommandPacket.CdbLength = EFI_SCSI_OP_LENGTH_TWELVE; CommandPacket.DataDirection = EFI_SCSI_DATA_IN; CommandPacket.SenseDataLength = *SenseDataLength; - Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); + Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); - *HostAdapterStatus = CommandPacket.HostAdapterStatus; - *TargetStatus = CommandPacket.TargetStatus; - *SenseDataLength = CommandPacket.SenseDataLength; - *TransferLength = (UINTN) CommandPacket.InTransferLength; + *HostAdapterStatus = CommandPacket.HostAdapterStatus; + *TargetStatus = CommandPacket.TargetStatus; + *SenseDataLength = CommandPacket.SenseDataLength; + *TransferLength = (UINTN)CommandPacket.InTransferLength; return Status; } - /** Execute Security Protocol Out SCSI command on a specific SCSI target. @@ -1451,8 +1438,8 @@ ScsiSecurityProtocolOutCommand ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN UINT8 SecurityProtocol, IN UINT16 SecurityProtocolSpecific, IN BOOLEAN Inc512, @@ -1460,9 +1447,9 @@ ScsiSecurityProtocolOutCommand ( IN OUT VOID *DataBuffer OPTIONAL ) { - EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; - EFI_STATUS Status; - UINT8 Cdb[EFI_SCSI_OP_LENGTH_TWELVE]; + EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; + EFI_STATUS Status; + UINT8 Cdb[EFI_SCSI_OP_LENGTH_TWELVE]; ASSERT (SenseDataLength != NULL); ASSERT (HostAdapterStatus != NULL); @@ -1476,39 +1463,39 @@ ScsiSecurityProtocolOutCommand ( CommandPacket.Timeout = Timeout; CommandPacket.OutDataBuffer = DataBuffer; CommandPacket.SenseData = SenseData; - CommandPacket.OutTransferLength = (UINT32) DataLength; + CommandPacket.OutTransferLength = (UINT32)DataLength; CommandPacket.Cdb = Cdb; // // Fill Cdb for Security Protocol Out Command // - Cdb[0] = EFI_SCSI_OP_SECURITY_PROTOCOL_OUT; - Cdb[1] = SecurityProtocol; + Cdb[0] = EFI_SCSI_OP_SECURITY_PROTOCOL_OUT; + Cdb[1] = SecurityProtocol; WriteUnaligned16 ((UINT16 *)&Cdb[2], SwapBytes16 (SecurityProtocolSpecific)); if (Inc512) { if (DataLength % 512 != 0) { return EFI_INVALID_PARAMETER; } - Cdb[4] = BIT7; - WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32) DataLength / 512)); + + Cdb[4] = BIT7; + WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32)DataLength / 512)); } else { - WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32) DataLength)); + WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32)DataLength)); } CommandPacket.CdbLength = EFI_SCSI_OP_LENGTH_TWELVE; CommandPacket.DataDirection = EFI_SCSI_DATA_OUT; CommandPacket.SenseDataLength = *SenseDataLength; - Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); + Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); - *HostAdapterStatus = CommandPacket.HostAdapterStatus; - *TargetStatus = CommandPacket.TargetStatus; - *SenseDataLength = CommandPacket.SenseDataLength; + *HostAdapterStatus = CommandPacket.HostAdapterStatus; + *TargetStatus = CommandPacket.TargetStatus; + *SenseDataLength = CommandPacket.SenseDataLength; return Status; } - /** Internal helper notify function in which update the result of the non-blocking SCSI Read/Write commands and signal caller event. @@ -1524,36 +1511,36 @@ ScsiLibNotify ( IN VOID *Context ) { - EFI_SCSI_LIB_ASYNC_CONTEXT *LibContext; - EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket; - EFI_EVENT CallerEvent; + EFI_SCSI_LIB_ASYNC_CONTEXT *LibContext; + EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket; + EFI_EVENT CallerEvent; - LibContext = (EFI_SCSI_LIB_ASYNC_CONTEXT *) Context; + LibContext = (EFI_SCSI_LIB_ASYNC_CONTEXT *)Context; CommandPacket = &LibContext->CommandPacket; - CallerEvent = LibContext->CallerEvent; + CallerEvent = LibContext->CallerEvent; // // Update SCSI Read/Write operation results // - *LibContext->SenseDataLength = CommandPacket->SenseDataLength; - *LibContext->HostAdapterStatus = CommandPacket->HostAdapterStatus; - *LibContext->TargetStatus = CommandPacket->TargetStatus; + *LibContext->SenseDataLength = CommandPacket->SenseDataLength; + *LibContext->HostAdapterStatus = CommandPacket->HostAdapterStatus; + *LibContext->TargetStatus = CommandPacket->TargetStatus; if (CommandPacket->InDataBuffer != NULL) { - *LibContext->DataLength = CommandPacket->InTransferLength; + *LibContext->DataLength = CommandPacket->InTransferLength; } else { - *LibContext->DataLength = CommandPacket->OutTransferLength; + *LibContext->DataLength = CommandPacket->OutTransferLength; } if (CommandPacket->Cdb != NULL) { FreePool (CommandPacket->Cdb); } + FreePool (Context); gBS->CloseEvent (Event); gBS->SignalEvent (CallerEvent); } - /** Execute blocking/non-blocking Read(10) SCSI command on a specific SCSI target. @@ -1634,8 +1621,8 @@ ScsiRead10CommandEx ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN OUT VOID *DataBuffer OPTIONAL, IN OUT UINT32 *DataLength, IN UINT32 StartLba, @@ -1643,11 +1630,11 @@ ScsiRead10CommandEx ( IN EFI_EVENT Event OPTIONAL ) { - EFI_SCSI_LIB_ASYNC_CONTEXT *Context; - EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket; - EFI_STATUS Status; - UINT8 *Cdb; - EFI_EVENT SelfEvent; + EFI_SCSI_LIB_ASYNC_CONTEXT *Context; + EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket; + EFI_STATUS Status; + UINT8 *Cdb; + EFI_EVENT SelfEvent; if (Event == NULL) { return ScsiRead10Command ( @@ -1681,10 +1668,10 @@ ScsiRead10CommandEx ( goto ErrorExit; } - Context->SenseDataLength = SenseDataLength; - Context->HostAdapterStatus = HostAdapterStatus; - Context->TargetStatus = TargetStatus; - Context->CallerEvent = Event; + Context->SenseDataLength = SenseDataLength; + Context->HostAdapterStatus = HostAdapterStatus; + Context->TargetStatus = TargetStatus; + Context->CallerEvent = Event; CommandPacket = &Context->CommandPacket; CommandPacket->Timeout = Timeout; @@ -1695,13 +1682,13 @@ ScsiRead10CommandEx ( // // Fill Cdb for Read (10) Command // - Cdb[0] = EFI_SCSI_OP_READ10; + Cdb[0] = EFI_SCSI_OP_READ10; WriteUnaligned32 ((UINT32 *)&Cdb[2], SwapBytes32 (StartLba)); - WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16) SectorSize)); + WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16)SectorSize)); - CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_TEN; - CommandPacket->DataDirection = EFI_SCSI_DATA_IN; - CommandPacket->SenseDataLength = *SenseDataLength; + CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_TEN; + CommandPacket->DataDirection = EFI_SCSI_DATA_IN; + CommandPacket->SenseDataLength = *SenseDataLength; // // Create Event @@ -1713,12 +1700,12 @@ ScsiRead10CommandEx ( Context, &SelfEvent ); - if (EFI_ERROR(Status)) { + if (EFI_ERROR (Status)) { goto ErrorExit; } Status = ScsiIo->ExecuteScsiCommand (ScsiIo, CommandPacket, SelfEvent); - if (EFI_ERROR(Status)) { + if (EFI_ERROR (Status)) { // // Since ScsiLibNotify() will not be signaled if ExecuteScsiCommand() // returns with error, close the event here. @@ -1737,7 +1724,6 @@ ErrorExit: return Status; } - /** Execute blocking/non-blocking Write(10) SCSI command on a specific SCSI target. @@ -1818,8 +1804,8 @@ ScsiWrite10CommandEx ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN OUT VOID *DataBuffer OPTIONAL, IN OUT UINT32 *DataLength, IN UINT32 StartLba, @@ -1827,11 +1813,11 @@ ScsiWrite10CommandEx ( IN EFI_EVENT Event OPTIONAL ) { - EFI_SCSI_LIB_ASYNC_CONTEXT *Context; - EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket; - EFI_STATUS Status; - UINT8 *Cdb; - EFI_EVENT SelfEvent; + EFI_SCSI_LIB_ASYNC_CONTEXT *Context; + EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket; + EFI_STATUS Status; + UINT8 *Cdb; + EFI_EVENT SelfEvent; if (Event == NULL) { return ScsiWrite10Command ( @@ -1865,10 +1851,10 @@ ScsiWrite10CommandEx ( goto ErrorExit; } - Context->SenseDataLength = SenseDataLength; - Context->HostAdapterStatus = HostAdapterStatus; - Context->TargetStatus = TargetStatus; - Context->CallerEvent = Event; + Context->SenseDataLength = SenseDataLength; + Context->HostAdapterStatus = HostAdapterStatus; + Context->TargetStatus = TargetStatus; + Context->CallerEvent = Event; CommandPacket = &Context->CommandPacket; CommandPacket->Timeout = Timeout; @@ -1879,13 +1865,13 @@ ScsiWrite10CommandEx ( // // Fill Cdb for Write (10) Command // - Cdb[0] = EFI_SCSI_OP_WRITE10; + Cdb[0] = EFI_SCSI_OP_WRITE10; WriteUnaligned32 ((UINT32 *)&Cdb[2], SwapBytes32 (StartLba)); - WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16) SectorSize)); + WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16)SectorSize)); - CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_TEN; - CommandPacket->DataDirection = EFI_SCSI_DATA_OUT; - CommandPacket->SenseDataLength = *SenseDataLength; + CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_TEN; + CommandPacket->DataDirection = EFI_SCSI_DATA_OUT; + CommandPacket->SenseDataLength = *SenseDataLength; // // Create Event @@ -1897,12 +1883,12 @@ ScsiWrite10CommandEx ( Context, &SelfEvent ); - if (EFI_ERROR(Status)) { + if (EFI_ERROR (Status)) { goto ErrorExit; } Status = ScsiIo->ExecuteScsiCommand (ScsiIo, CommandPacket, SelfEvent); - if (EFI_ERROR(Status)) { + if (EFI_ERROR (Status)) { // // Since ScsiLibNotify() will not be signaled if ExecuteScsiCommand() // returns with error, close the event here. @@ -1921,7 +1907,6 @@ ErrorExit: return Status; } - /** Execute blocking/non-blocking Read(16) SCSI command on a specific SCSI target. @@ -2002,8 +1987,8 @@ ScsiRead16CommandEx ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN OUT VOID *DataBuffer OPTIONAL, IN OUT UINT32 *DataLength, IN UINT64 StartLba, @@ -2011,11 +1996,11 @@ ScsiRead16CommandEx ( IN EFI_EVENT Event OPTIONAL ) { - EFI_SCSI_LIB_ASYNC_CONTEXT *Context; - EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket; - EFI_STATUS Status; - UINT8 *Cdb; - EFI_EVENT SelfEvent; + EFI_SCSI_LIB_ASYNC_CONTEXT *Context; + EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket; + EFI_STATUS Status; + UINT8 *Cdb; + EFI_EVENT SelfEvent; if (Event == NULL) { return ScsiRead16Command ( @@ -2049,10 +2034,10 @@ ScsiRead16CommandEx ( goto ErrorExit; } - Context->SenseDataLength = SenseDataLength; - Context->HostAdapterStatus = HostAdapterStatus; - Context->TargetStatus = TargetStatus; - Context->CallerEvent = Event; + Context->SenseDataLength = SenseDataLength; + Context->HostAdapterStatus = HostAdapterStatus; + Context->TargetStatus = TargetStatus; + Context->CallerEvent = Event; CommandPacket = &Context->CommandPacket; CommandPacket->Timeout = Timeout; @@ -2063,13 +2048,13 @@ ScsiRead16CommandEx ( // // Fill Cdb for Read (16) Command // - Cdb[0] = EFI_SCSI_OP_READ16; + Cdb[0] = EFI_SCSI_OP_READ16; WriteUnaligned64 ((UINT64 *)&Cdb[2], SwapBytes64 (StartLba)); WriteUnaligned32 ((UINT32 *)&Cdb[10], SwapBytes32 (SectorSize)); - CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_SIXTEEN; - CommandPacket->DataDirection = EFI_SCSI_DATA_IN; - CommandPacket->SenseDataLength = *SenseDataLength; + CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_SIXTEEN; + CommandPacket->DataDirection = EFI_SCSI_DATA_IN; + CommandPacket->SenseDataLength = *SenseDataLength; // // Create Event @@ -2081,12 +2066,12 @@ ScsiRead16CommandEx ( Context, &SelfEvent ); - if (EFI_ERROR(Status)) { + if (EFI_ERROR (Status)) { goto ErrorExit; } Status = ScsiIo->ExecuteScsiCommand (ScsiIo, CommandPacket, SelfEvent); - if (EFI_ERROR(Status)) { + if (EFI_ERROR (Status)) { // // Since ScsiLibNotify() will not be signaled if ExecuteScsiCommand() // returns with error, close the event here. @@ -2105,7 +2090,6 @@ ErrorExit: return Status; } - /** Execute blocking/non-blocking Write(16) SCSI command on a specific SCSI target. @@ -2186,8 +2170,8 @@ ScsiWrite16CommandEx ( IN UINT64 Timeout, IN OUT VOID *SenseData OPTIONAL, IN OUT UINT8 *SenseDataLength, - OUT UINT8 *HostAdapterStatus, - OUT UINT8 *TargetStatus, + OUT UINT8 *HostAdapterStatus, + OUT UINT8 *TargetStatus, IN OUT VOID *DataBuffer OPTIONAL, IN OUT UINT32 *DataLength, IN UINT64 StartLba, @@ -2195,11 +2179,11 @@ ScsiWrite16CommandEx ( IN EFI_EVENT Event OPTIONAL ) { - EFI_SCSI_LIB_ASYNC_CONTEXT *Context; - EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket; - EFI_STATUS Status; - UINT8 *Cdb; - EFI_EVENT SelfEvent; + EFI_SCSI_LIB_ASYNC_CONTEXT *Context; + EFI_SCSI_IO_SCSI_REQUEST_PACKET *CommandPacket; + EFI_STATUS Status; + UINT8 *Cdb; + EFI_EVENT SelfEvent; if (Event == NULL) { return ScsiWrite16Command ( @@ -2233,10 +2217,10 @@ ScsiWrite16CommandEx ( goto ErrorExit; } - Context->SenseDataLength = SenseDataLength; - Context->HostAdapterStatus = HostAdapterStatus; - Context->TargetStatus = TargetStatus; - Context->CallerEvent = Event; + Context->SenseDataLength = SenseDataLength; + Context->HostAdapterStatus = HostAdapterStatus; + Context->TargetStatus = TargetStatus; + Context->CallerEvent = Event; CommandPacket = &Context->CommandPacket; CommandPacket->Timeout = Timeout; @@ -2247,13 +2231,13 @@ ScsiWrite16CommandEx ( // // Fill Cdb for Write (16) Command // - Cdb[0] = EFI_SCSI_OP_WRITE16; + Cdb[0] = EFI_SCSI_OP_WRITE16; WriteUnaligned64 ((UINT64 *)&Cdb[2], SwapBytes64 (StartLba)); WriteUnaligned32 ((UINT32 *)&Cdb[10], SwapBytes32 (SectorSize)); - CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_SIXTEEN; - CommandPacket->DataDirection = EFI_SCSI_DATA_OUT; - CommandPacket->SenseDataLength = *SenseDataLength; + CommandPacket->CdbLength = EFI_SCSI_OP_LENGTH_SIXTEEN; + CommandPacket->DataDirection = EFI_SCSI_DATA_OUT; + CommandPacket->SenseDataLength = *SenseDataLength; // // Create Event @@ -2265,12 +2249,12 @@ ScsiWrite16CommandEx ( Context, &SelfEvent ); - if (EFI_ERROR(Status)) { + if (EFI_ERROR (Status)) { goto ErrorExit; } Status = ScsiIo->ExecuteScsiCommand (ScsiIo, CommandPacket, SelfEvent); - if (EFI_ERROR(Status)) { + if (EFI_ERROR (Status)) { // // Since ScsiLibNotify() will not be signaled if ExecuteScsiCommand() // returns with error, close the event here.