]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/VirtioScsiDxe/VirtioScsi.h
OvmfPkg: Apply uncrustify changes
[mirror_edk2.git] / OvmfPkg / VirtioScsiDxe / VirtioScsi.h
index f5220b2215a19e6b3f34e6ab00e17cbf8471009f..e7aa16dc2fbb6024721b3f7863da99d1c8302043 100644 (file)
@@ -5,13 +5,7 @@
 \r
   Copyright (C) 2012, Red Hat, Inc.\r
 \r
-  This program and the accompanying materials are licensed and made available\r
-  under the terms and conditions of the BSD License which accompanies this\r
-  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, WITHOUT\r
-  WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 \r
 #include <Protocol/ComponentName.h>\r
 #include <Protocol/DriverBinding.h>\r
-#include <Protocol/PciIo.h>\r
 #include <Protocol/ScsiPassThruExt.h>\r
 \r
 #include <IndustryStandard/Virtio.h>\r
 \r
-\r
 //\r
 // This driver supports 2-byte target identifiers and 4-byte LUN identifiers.\r
 //\r
 // identification, and 8 bytes for LUN identification.\r
 //\r
 // EFI_EXT_SCSI_PASS_THRU_MODE.AdapterId is also a target identifier,\r
-// consisting of 4 bytes. Make sure TARGET_MAX_BYTES can accomodate both\r
+// consisting of 4 bytes. Make sure TARGET_MAX_BYTES can accommodate both\r
 // AdapterId and our target identifiers.\r
 //\r
 #if TARGET_MAX_BYTES < 4\r
-#  error "virtio-scsi requires TARGET_MAX_BYTES >= 4"\r
+  #error "virtio-scsi requires TARGET_MAX_BYTES >= 4"\r
 #endif\r
 \r
-\r
-#define VSCSI_SIG SIGNATURE_32 ('V', 'S', 'C', 'S')\r
+#define VSCSI_SIG  SIGNATURE_32 ('V', 'S', 'C', 'S')\r
 \r
 typedef struct {\r
   //\r
@@ -49,24 +40,24 @@ typedef struct {
   // at various call depths. The table to the right should make it easier to\r
   // track them.\r
   //\r
-  //                              field                     init function       init depth\r
-  //                              ----------------------    ------------------  ----------\r
-  UINT32                          Signature;             // DriverBindingStart  0\r
-  EFI_PCI_IO_PROTOCOL             *PciIo;                // DriverBindingStart  0\r
-  UINT64                          OriginalPciAttributes; // DriverBindingStart  0\r
-  BOOLEAN                         InOutSupported;        // VirtioScsiInit      1\r
-  UINT16                          MaxTarget;             // VirtioScsiInit      1\r
-  UINT32                          MaxLun;                // VirtioScsiInit      1\r
-  UINT32                          MaxSectors;            // VirtioScsiInit      1\r
-  VRING                           Ring;                  // VirtioRingInit      2\r
-  EFI_EXT_SCSI_PASS_THRU_PROTOCOL PassThru;              // VirtioScsiInit      1\r
-  EFI_EXT_SCSI_PASS_THRU_MODE     PassThruMode;          // VirtioScsiInit      1\r
+  //                              field              init function       init depth\r
+  //                              ----------------   ------------------  ----------\r
+  UINT32                             Signature;      // DriverBindingStart  0\r
+  VIRTIO_DEVICE_PROTOCOL             *VirtIo;        // DriverBindingStart  0\r
+  EFI_EVENT                          ExitBoot;       // DriverBindingStart  0\r
+  BOOLEAN                            InOutSupported; // VirtioScsiInit      1\r
+  UINT16                             MaxTarget;      // VirtioScsiInit      1\r
+  UINT32                             MaxLun;         // VirtioScsiInit      1\r
+  UINT32                             MaxSectors;     // VirtioScsiInit      1\r
+  VRING                              Ring;           // VirtioRingInit      2\r
+  EFI_EXT_SCSI_PASS_THRU_PROTOCOL    PassThru;       // VirtioScsiInit      1\r
+  EFI_EXT_SCSI_PASS_THRU_MODE        PassThruMode;   // VirtioScsiInit      1\r
+  VOID                               *RingMap;       // VirtioRingMap       2\r
 } VSCSI_DEV;\r
 \r
 #define VIRTIO_SCSI_FROM_PASS_THRU(PassThruPointer) \\r
         CR (PassThruPointer, VSCSI_DEV, PassThru, VSCSI_SIG)\r
 \r
-\r
 //\r
 // Probe, start and stop functions of this driver, called by the DXE core for\r
 // specific devices.\r
@@ -79,31 +70,28 @@ typedef struct {
 EFI_STATUS\r
 EFIAPI\r
 VirtioScsiDriverBindingSupported (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
-  IN EFI_HANDLE                  DeviceHandle,\r
-  IN EFI_DEVICE_PATH_PROTOCOL    *RemainingDevicePath\r
+  IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
+  IN EFI_HANDLE                   DeviceHandle,\r
+  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
   );\r
 \r
-\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioScsiDriverBindingStart (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
-  IN EFI_HANDLE                  DeviceHandle,\r
-  IN EFI_DEVICE_PATH_PROTOCOL    *RemainingDevicePath\r
+  IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
+  IN EFI_HANDLE                   DeviceHandle,\r
+  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
   );\r
 \r
-\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioScsiDriverBindingStop (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
-  IN EFI_HANDLE                  DeviceHandle,\r
-  IN UINTN                       NumberOfChildren,\r
-  IN EFI_HANDLE                  *ChildHandleBuffer\r
+  IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
+  IN EFI_HANDLE                   DeviceHandle,\r
+  IN UINTN                        NumberOfChildren,\r
+  IN EFI_HANDLE                   *ChildHandleBuffer\r
   );\r
 \r
-\r
 //\r
 // The next seven functions implement EFI_EXT_SCSI_PASS_THRU_PROTOCOL\r
 // for the virtio-scsi HBA. Refer to UEFI Spec 2.3.1 + Errata C, sections\r
@@ -114,67 +102,60 @@ VirtioScsiDriverBindingStop (
 EFI_STATUS\r
 EFIAPI\r
 VirtioScsiPassThru (\r
-  IN     EFI_EXT_SCSI_PASS_THRU_PROTOCOL            *This,\r
-  IN     UINT8                                      *Target,\r
-  IN     UINT64                                     Lun,\r
-  IN OUT EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *Packet,\r
-  IN     EFI_EVENT                                  Event   OPTIONAL\r
+  IN     EFI_EXT_SCSI_PASS_THRU_PROTOCOL             *This,\r
+  IN     UINT8                                       *Target,\r
+  IN     UINT64                                      Lun,\r
+  IN OUT EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET  *Packet,\r
+  IN     EFI_EVENT                                   Event   OPTIONAL\r
   );\r
 \r
-\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioScsiGetNextTargetLun (\r
-  IN     EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This,\r
-  IN OUT UINT8                           **Target,\r
-  IN OUT UINT64                          *Lun\r
+  IN     EFI_EXT_SCSI_PASS_THRU_PROTOCOL  *This,\r
+  IN OUT UINT8                            **Target,\r
+  IN OUT UINT64                           *Lun\r
   );\r
 \r
-\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioScsiBuildDevicePath (\r
-  IN     EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This,\r
-  IN     UINT8                           *Target,\r
-  IN     UINT64                          Lun,\r
-  IN OUT EFI_DEVICE_PATH_PROTOCOL        **DevicePath\r
+  IN     EFI_EXT_SCSI_PASS_THRU_PROTOCOL  *This,\r
+  IN     UINT8                            *Target,\r
+  IN     UINT64                           Lun,\r
+  IN OUT EFI_DEVICE_PATH_PROTOCOL         **DevicePath\r
   );\r
 \r
-\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioScsiGetTargetLun (\r
-  IN  EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This,\r
-  IN  EFI_DEVICE_PATH_PROTOCOL        *DevicePath,\r
-  OUT UINT8                           **Target,\r
-  OUT UINT64                          *Lun\r
+  IN  EFI_EXT_SCSI_PASS_THRU_PROTOCOL  *This,\r
+  IN  EFI_DEVICE_PATH_PROTOCOL         *DevicePath,\r
+  OUT UINT8                            **Target,\r
+  OUT UINT64                           *Lun\r
   );\r
 \r
-\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioScsiResetChannel (\r
-  IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This\r
+  IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL  *This\r
   );\r
 \r
-\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioScsiResetTargetLun (\r
-  IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This,\r
-  IN UINT8                           *Target,\r
-  IN UINT64                          Lun\r
+  IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL  *This,\r
+  IN UINT8                            *Target,\r
+  IN UINT64                           Lun\r
   );\r
 \r
-\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioScsiGetNextTarget (\r
-  IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This,\r
-  IN OUT UINT8                       **Target\r
+  IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL  *This,\r
+  IN OUT UINT8                        **Target\r
   );\r
 \r
-\r
 //\r
 // The purpose of the following scaffolding (EFI_COMPONENT_NAME_PROTOCOL and\r
 // EFI_COMPONENT_NAME2_PROTOCOL implementation) is to format the driver's name\r
@@ -190,20 +171,19 @@ VirtioScsiGetNextTarget (
 EFI_STATUS\r
 EFIAPI\r
 VirtioScsiGetDriverName (\r
-  IN  EFI_COMPONENT_NAME_PROTOCOL *This,\r
-  IN  CHAR8                       *Language,\r
-  OUT CHAR16                      **DriverName\r
+  IN  EFI_COMPONENT_NAME_PROTOCOL  *This,\r
+  IN  CHAR8                        *Language,\r
+  OUT CHAR16                       **DriverName\r
   );\r
 \r
-\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioScsiGetDeviceName (\r
-  IN  EFI_COMPONENT_NAME_PROTOCOL *This,\r
-  IN  EFI_HANDLE                  DeviceHandle,\r
-  IN  EFI_HANDLE                  ChildHandle,\r
-  IN  CHAR8                       *Language,\r
-  OUT CHAR16                      **ControllerName\r
+  IN  EFI_COMPONENT_NAME_PROTOCOL  *This,\r
+  IN  EFI_HANDLE                   DeviceHandle,\r
+  IN  EFI_HANDLE                   ChildHandle,\r
+  IN  CHAR8                        *Language,\r
+  OUT CHAR16                       **ControllerName\r
   );\r
 \r
 #endif // _VIRTIO_SCSI_DXE_H_\r