]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBus.c
1. Fixed tools_def.template to meet ICC build for IA32
[mirror_edk2.git] / MdeModulePkg / Bus / Scsi / ScsiBusDxe / ScsiBus.c
index 68f3683bb632cfc0cda7f1a700511c883309fdff..7633fd49124b84c0ecbf1dd48f2705dd348b6fec 100644 (file)
@@ -1,20 +1,20 @@
 /*++\r
 \r
-Copyright (c) 2006, Intel Corporation                                                         \r
-All rights reserved. This program and the accompanying materials                          \r
-are licensed and made available under the terms and conditions of the BSD License         \r
-which accompanies this distribution.  The full text of the license may be found at        \r
-http://opensource.org/licenses/bsd-license.php                                            \r
-                                                                                          \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution.  The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
 Module Name:\r
 \r
     scsibus.c\r
-    \r
-Abstract: \r
-    \r
+\r
+Abstract:\r
+\r
 \r
 Revision History\r
 --*/\r
@@ -96,9 +96,9 @@ NotifyFunction (
 /**\r
   The user Entry Point for module ScsiBus. The user code starts with this function.\r
 \r
-  @param[in] ImageHandle    The firmware allocated handle for the EFI image.  \r
+  @param[in] ImageHandle    The firmware allocated handle for the EFI image.\r
   @param[in] SystemTable    A pointer to the EFI System Table.\r
-  \r
+\r
   @retval EFI_SUCCESS       The entry point is executed successfully.\r
   @retval other             Some error occurs when executing this entry point.\r
 \r
@@ -172,11 +172,11 @@ Returns:
                   Controller,\r
                   EFI_OPEN_PROTOCOL_BY_DRIVER\r
                   );\r
-  \r
+\r
   if (Status == EFI_ALREADY_STARTED) {\r
     return EFI_SUCCESS;\r
   }\r
-  \r
+\r
   if (EFI_ERROR (Status)) {\r
     Status = gBS->OpenProtocol (\r
                     Controller,\r
@@ -186,11 +186,11 @@ Returns:
                     Controller,\r
                     EFI_OPEN_PROTOCOL_BY_DRIVER\r
                     );\r
-    \r
+\r
     if (Status == EFI_ALREADY_STARTED) {\r
       return EFI_SUCCESS;\r
     }\r
-    \r
+\r
     if (EFI_ERROR (Status)) {\r
       return Status;\r
     }\r
@@ -203,7 +203,7 @@ Returns:
       );\r
     return EFI_SUCCESS;\r
   }\r
-  \r
+\r
   gBS->CloseProtocol (\r
     Controller,\r
     &gEfiExtScsiPassThruProtocolGuid,\r
@@ -268,7 +268,7 @@ Returns:
   }\r
 \r
   TargetId = &ScsiTargetId->ScsiId.ExtScsi[0];\r
-  \r
+\r
   Status = gBS->OpenProtocol (\r
                   Controller,\r
                   &gEfiDevicePathProtocolGuid,\r
@@ -312,7 +312,7 @@ Returns:
              );\r
       gBS->FreePool (ScsiBusDev);\r
       return Status;\r
-    } \r
+    }\r
     DEBUG ((EFI_D_INFO, "Open Scsi Pass Thrugh Protocol\n"));\r
     ScsiBusDev->ExtScsiSupport  = FALSE;\r
   } else {\r
@@ -363,7 +363,7 @@ Returns:
     FromFirstTarget = TRUE;\r
   } else {\r
     if (ScsiBusDev->ExtScsiSupport) {\r
-      ScsiBusDev->ExtScsiInterface->GetTargetLun (ScsiBusDev->ExtScsiInterface, RemainingDevicePath, &TargetId, &Lun);  \r
+      ScsiBusDev->ExtScsiInterface->GetTargetLun (ScsiBusDev->ExtScsiInterface, RemainingDevicePath, &TargetId, &Lun);\r
     } else {\r
       ScsiBusDev->ScsiInterface->GetTargetLun (ScsiBusDev->ScsiInterface, RemainingDevicePath, &ScsiTargetId->ScsiId.Scsi, &Lun);\r
     }\r
@@ -419,13 +419,13 @@ SCSIBusDriverBindingStop (
   IN  EFI_HANDLE                      *ChildHandleBuffer\r
   )\r
 /*++\r
-  \r
+\r
   Routine Description:\r
-  \r
+\r
   Arguments:\r
-  \r
+\r
   Returns:\r
-  \r
+\r
 --*/\r
 // TODO:    This - add argument and description to function comment\r
 // TODO:    Controller - add argument and description to function comment\r
@@ -456,7 +456,7 @@ SCSIBusDriverBindingStop (
                     Controller,\r
                     EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
                     );\r
-  \r
+\r
     if (EFI_ERROR (Status)) {\r
       return EFI_DEVICE_ERROR;\r
     }\r
@@ -471,7 +471,7 @@ SCSIBusDriverBindingStop (
            &mScsiBusProtocolGuid,\r
            &ScsiBusDev->BusIdentify\r
            );\r
-    \r
+\r
     //\r
     // Close the bus driver\r
     //\r
@@ -553,7 +553,7 @@ SCSIBusDriverBindingStop (
         gBS->OpenProtocol (\r
                Controller,\r
                &gEfiExtScsiPassThruProtocolGuid,\r
-               &(EFI_EXT_SCSI_PASS_THRU_PROTOCOL*)ScsiPassThru,\r
+               (VOID **) &(EFI_EXT_SCSI_PASS_THRU_PROTOCOL*)ScsiPassThru,\r
                This->DriverBindingHandle,\r
                ChildHandleBuffer[Index],\r
                EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
@@ -562,7 +562,7 @@ SCSIBusDriverBindingStop (
         gBS->OpenProtocol (\r
                Controller,\r
                &gEfiScsiPassThruProtocolGuid,\r
-               &(EFI_SCSI_PASS_THRU_PROTOCOL*)ScsiPassThru,\r
+               (VOID **) &(EFI_SCSI_PASS_THRU_PROTOCOL*)ScsiPassThru,\r
                This->DriverBindingHandle,\r
                ChildHandleBuffer[Index],\r
                EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
@@ -590,11 +590,11 @@ ScsiGetDeviceType (
 \r
   Routine Description:\r
     Retrieves the device type information of the SCSI Controller.\r
-    \r
+\r
   Arguments:\r
     This                  - Protocol instance pointer.\r
     DeviceType            - A pointer to the device type information\r
-                            retrieved from the SCSI Controller. \r
+                            retrieved from the SCSI Controller.\r
 \r
   Returns:\r
     EFI_SUCCESS           - Retrieves the device type information successfully.\r
@@ -622,12 +622,12 @@ ScsiGetDeviceLocation (
 /*++\r
   Routine Description:\r
     Retrieves the device location in the SCSI channel.\r
-    \r
+\r
   Arguments:\r
     This                  - Protocol instance pointer.\r
-    Target                - A pointer to the Target ID of a SCSI device \r
-                            on the SCSI channel. \r
-    Lun                   - A pointer to the LUN of the SCSI device on \r
+    Target                - A pointer to the Target ID of a SCSI device\r
+                            on the SCSI channel.\r
+    Lun                   - A pointer to the LUN of the SCSI device on\r
                             the SCSI channel.\r
 \r
   Returns:\r
@@ -659,7 +659,7 @@ ScsiResetBus (
 \r
   Routine Description:\r
     Resets the SCSI Bus that the SCSI Controller is attached to.\r
-    \r
+\r
   Arguments:\r
     This                  - Protocol instance pointer.\r
 \r
@@ -668,7 +668,7 @@ ScsiResetBus (
     EFI_DEVICE_ERROR      - Errors encountered when resetting the SCSI bus.\r
     EFI_UNSUPPORTED       - The bus reset operation is not supported by the\r
                             SCSI Host Controller.\r
-    EFI_TIMEOUT           - A timeout occurred while attempting to reset \r
+    EFI_TIMEOUT           - A timeout occurred while attempting to reset\r
                             the SCSI bus.\r
 --*/\r
 {\r
@@ -692,18 +692,18 @@ ScsiResetDevice (
 \r
   Routine Description:\r
     Resets the SCSI Controller that the device handle specifies.\r
-    \r
+\r
   Arguments:\r
     This                  - Protocol instance pointer.\r
-    \r
+\r
 \r
   Returns:\r
     EFI_SUCCESS           - Reset the SCSI controller successfully.\r
     EFI_DEVICE_ERROR      - Errors are encountered when resetting the\r
                             SCSI Controller.\r
-    EFI_UNSUPPORTED       - The SCSI bus does not support a device \r
+    EFI_UNSUPPORTED       - The SCSI bus does not support a device\r
                             reset operation.\r
-    EFI_TIMEOUT           - A timeout occurred while attempting to \r
+    EFI_TIMEOUT           - A timeout occurred while attempting to\r
                             reset the SCSI Controller.\r
 --*/\r
 {\r
@@ -740,50 +740,50 @@ ScsiExecuteSCSICommand (
 \r
   Routine Description:\r
     Sends a SCSI Request Packet to the SCSI Controller for execution.\r
-    \r
+\r
   Arguments:\r
     This                  - Protocol instance pointer.\r
-    Packet                - The SCSI request packet to send to the SCSI \r
+    Packet                - The SCSI request packet to send to the SCSI\r
                             Controller specified by the device handle.\r
     Event                 - If the SCSI bus where the SCSI device is attached\r
-                            does not support non-blocking I/O, then Event is \r
-                            ignored, and blocking I/O is performed.  \r
+                            does not support non-blocking I/O, then Event is\r
+                            ignored, and blocking I/O is performed.\r
                             If Event is NULL, then blocking I/O is performed.\r
-                            If Event is not NULL and non-blocking I/O is \r
+                            If Event is not NULL and non-blocking I/O is\r
                             supported, then non-blocking I/O is performed,\r
                             and Event will be signaled when the SCSI Request\r
                             Packet completes.\r
   Returns:\r
-    EFI_SUCCESS           - The SCSI Request Packet was sent by the host \r
-                            successfully, and TransferLength bytes were \r
-                            transferred to/from DataBuffer.See \r
-                            HostAdapterStatus, TargetStatus, \r
+    EFI_SUCCESS           - The SCSI Request Packet was sent by the host\r
+                            successfully, and TransferLength bytes were\r
+                            transferred to/from DataBuffer.See\r
+                            HostAdapterStatus, TargetStatus,\r
                             SenseDataLength, and SenseData in that order\r
                             for additional status information.\r
-    EFI_WARN_BUFFER_TOO_SMALL - The SCSI Request Packet was executed, \r
+    EFI_WARN_BUFFER_TOO_SMALL - The SCSI Request Packet was executed,\r
                             but the entire DataBuffer could not be transferred.\r
                             The actual number of bytes transferred is returned\r
-                            in TransferLength. See HostAdapterStatus, \r
-                            TargetStatus, SenseDataLength, and SenseData in \r
+                            in TransferLength. See HostAdapterStatus,\r
+                            TargetStatus, SenseDataLength, and SenseData in\r
                             that order for additional status information.\r
-    EFI_NOT_READY         - The SCSI Request Packet could not be sent because \r
-                            there are too many SCSI Command Packets already \r
+    EFI_NOT_READY         - The SCSI Request Packet could not be sent because\r
+                            there are too many SCSI Command Packets already\r
                             queued.The caller may retry again later.\r
-    EFI_DEVICE_ERROR      - A device error occurred while attempting to send \r
-                            the SCSI Request Packet. See HostAdapterStatus, \r
-                            TargetStatus, SenseDataLength, and SenseData in \r
+    EFI_DEVICE_ERROR      - A device error occurred while attempting to send\r
+                            the SCSI Request Packet. See HostAdapterStatus,\r
+                            TargetStatus, SenseDataLength, and SenseData in\r
                             that order for additional status information.\r
-    EFI_INVALID_PARAMETER - The contents of CommandPacket are invalid.  \r
-                            The SCSI Request Packet was not sent, so no \r
+    EFI_INVALID_PARAMETER - The contents of CommandPacket are invalid.\r
+                            The SCSI Request Packet was not sent, so no\r
                             additional status information is available.\r
     EFI_UNSUPPORTED       - The command described by the SCSI Request Packet\r
-                            is not supported by the SCSI initiator(i.e., SCSI \r
+                            is not supported by the SCSI initiator(i.e., SCSI\r
                             Host Controller). The SCSI Request Packet was not\r
-                            sent, so no additional status information is \r
+                            sent, so no additional status information is\r
                             available.\r
-    EFI_TIMEOUT           - A timeout occurred while waiting for the SCSI \r
+    EFI_TIMEOUT           - A timeout occurred while waiting for the SCSI\r
                             Request Packet to execute. See HostAdapterStatus,\r
-                            TargetStatus, SenseDataLength, and SenseData in \r
+                            TargetStatus, SenseDataLength, and SenseData in\r
                             that order for additional status information.\r
 --*/\r
 {\r
@@ -792,17 +792,17 @@ ScsiExecuteSCSICommand (
   UINT8                                       Target[TARGET_MAX_BYTES];\r
   EFI_EVENT                                   PacketEvent;\r
   EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET  *ExtRequestPacket;\r
-  SCSI_EVENT_DATA                             EventData;                                     \r
+  SCSI_EVENT_DATA                             EventData;\r
 \r
   PacketEvent = NULL;\r
-  \r
+\r
   if (Packet == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
   ScsiIoDevice  = SCSI_IO_DEV_FROM_THIS (This);\r
   CopyMem (Target,&ScsiIoDevice->Pun, TARGET_MAX_BYTES);\r
-  \r
+\r
   if (ScsiIoDevice->ExtScsiSupport) {\r
     ExtRequestPacket = (EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *) Packet;\r
     Status = ScsiIoDevice->ExtScsiPassThru->PassThru (\r
@@ -825,11 +825,11 @@ ScsiExecuteSCSICommand (
     }\r
 \r
     //\r
-    // Convert package into EFI1.0, EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET. \r
+    // Convert package into EFI1.0, EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET.\r
     //\r
     Status = ScsiioToPassThruPacket(Packet, (EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET*)WorkingBuffer);\r
     if (EFI_ERROR(Status)) {\r
-      gBS->FreePool(WorkingBuffer);  \r
+      gBS->FreePool(WorkingBuffer);\r
       return Status;\r
     }\r
 \r
@@ -850,7 +850,7 @@ ScsiExecuteSCSICommand (
         gBS->FreePool(WorkingBuffer);\r
         return Status;\r
       }\r
-    \r
+\r
       Status = ScsiIoDevice->ScsiPassThru->PassThru (\r
                                           ScsiIoDevice->ScsiPassThru,\r
                                           ScsiIoDevice->Pun.ScsiId.Scsi,\r
@@ -864,7 +864,7 @@ ScsiExecuteSCSICommand (
         gBS->CloseEvent(PacketEvent);\r
         return Status;\r
       }\r
-      \r
+\r
     } else {\r
       //\r
       // If there's no event or SCSI Device doesn't support NON-BLOCKING, just convert\r
@@ -894,7 +894,7 @@ ScsiExecuteSCSICommand (
 }\r
 \r
 EFI_STATUS\r
-EFIAPI    \r
+EFIAPI\r
 ScsiScanCreateDevice (\r
   EFI_DRIVER_BINDING_PROTOCOL   *This,\r
   EFI_HANDLE                    Controller,\r
@@ -991,7 +991,7 @@ Returns:
       return Status;\r
     }\r
   }\r
-  \r
+\r
   ScsiIoDevice->DevicePath = AppendDevicePathNode (\r
                               ScsiBusDev->DevicePath,\r
                               ScsiDevicePath\r
@@ -1007,7 +1007,7 @@ Returns:
     gBS->FreePool (ScsiIoDevice);\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
-  \r
+\r
   Status = gBS->InstallMultipleProtocolInterfaces (\r
                   &ScsiIoDevice->Handle,\r
                   &gEfiDevicePathProtocolGuid,\r
@@ -1044,7 +1044,7 @@ Returns:
 }\r
 \r
 BOOLEAN\r
-EFIAPI    \r
+EFIAPI\r
 DiscoverScsiDevice (\r
   SCSI_IO_DEV   *ScsiIoDevice\r
   )\r
@@ -1061,7 +1061,7 @@ Arguments:
 Returns:\r
 \r
   TRUE            - Find SCSI Device and verify it.\r
-  FALSE           - Unable to find SCSI Device.  \r
+  FALSE           - Unable to find SCSI Device.\r
 \r
 --*/\r
 {\r
@@ -1115,7 +1115,7 @@ Returns:
   if (0x1e >= InquiryData.Peripheral_Type >= 0xa) {\r
     return FALSE;\r
   }\r
-  \r
+\r
   //\r
   // valid device type and peripheral qualifier combination.\r
   //\r
@@ -1145,14 +1145,14 @@ ScsiioToPassThruPacket (
 \r
 Routine Description:\r
 \r
-  Convert EFI_SCSI_IO_SCSI_REQUEST_PACKET packet to \r
+  Convert EFI_SCSI_IO_SCSI_REQUEST_PACKET packet to\r
   EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET packet\r
-  \r
+\r
 Arguments:\r
 \r
   Packet            - The pointer of EFI_SCSI_IO_SCSI_REQUEST_PACKET\r
   CommandPacket     - The pointer of EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET\r
-   \r
+\r
 Returns:\r
 \r
   NONE\r
@@ -1165,7 +1165,7 @@ Returns:
   if (Packet->DataDirection == EFI_SCSI_IO_DATA_DIRECTION_BIDIRECTIONAL) {\r
     return EFI_UNSUPPORTED;\r
   }\r
-  \r
+\r
   ZeroMem (CommandPacket, sizeof (EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET));\r
 \r
   CommandPacket->Timeout           = Packet->Timeout;\r
@@ -1199,14 +1199,14 @@ PassThruToScsiioPacket (
 \r
 Routine Description:\r
 \r
-  Convert EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET packet to \r
+  Convert EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET packet to\r
   EFI_SCSI_IO_SCSI_REQUEST_PACKET packet\r
-  \r
+\r
 Arguments:\r
 \r
   ScsiPacket        - The pointer of EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET\r
   Packet            - The pointer of EFI_SCSI_IO_SCSI_REQUEST_PACKET\r
-   \r
+\r
 Returns:\r
 \r
   NONE\r
@@ -1229,7 +1229,7 @@ Returns:
     Packet->OutDataBuffer = ScsiPacket->DataBuffer;\r
     Packet->OutTransferLength = ScsiPacket->TransferLength;\r
   }\r
\r
+\r
   return EFI_SUCCESS;\r
 }\r
 \r
@@ -1246,24 +1246,24 @@ NotifyFunction (
 \r
 Routine Description:\r
 \r
-  Notify Function in which convert EFI1.0 PassThru Packet back to UEF2.0 \r
+  Notify Function in which convert EFI1.0 PassThru Packet back to UEF2.0\r
   SCSI IO Packet.\r
-  \r
+\r
 Arguments:\r
 \r
   Event          - The instance of EFI_EVENT.\r
   Context        - The parameter passed in.\r
-   \r
+\r
 Returns:\r
 \r
   NONE\r
 \r
---*/  \r
+--*/\r
 {\r
   EFI_SCSI_IO_SCSI_REQUEST_PACKET          *Packet;\r
   EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET   *ScsiPacket;\r
   EFI_EVENT                                CallerEvent;\r
-  SCSI_EVENT_DATA                          *PassData;                                     \r
+  SCSI_EVENT_DATA                          *PassData;\r
 \r
   PassData = (SCSI_EVENT_DATA*)Context;\r
   Packet  = (EFI_SCSI_IO_SCSI_REQUEST_PACKET *)PassData->Data1;\r
@@ -1273,7 +1273,7 @@ Returns:
   // Convert EFI1.0 PassThru packet to UEFI2.0 SCSI IO Packet.\r
   //\r
   PassThruToScsiioPacket(ScsiPacket, Packet);\r
-  \r
+\r
   //\r
   // After converting EFI1.0 PassThru Packet back to UEFI2.0 SCSI IO Packet,\r
   // free WorkingBuffer.\r