]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/VirtioBlkDxe/VirtioBlk.h
OvmfPkg: Apply uncrustify changes
[mirror_edk2.git] / OvmfPkg / VirtioBlkDxe / VirtioBlk.h
index c76999183939563922d44328373d1860f4ebe728..54a96626ffe4d3ad1eee026d71656e0f25c4d202 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
 #include <Protocol/BlockIo.h>\r
 #include <Protocol/ComponentName.h>\r
 #include <Protocol/DriverBinding.h>\r
-#include <Protocol/PciIo.h>\r
-\r
-#include "Virtio.h"\r
 \r
+#include <IndustryStandard/Virtio.h>\r
 \r
-#define VBLK_SIG SIGNATURE_32 ('V', 'B', 'L', 'K')\r
+#define VBLK_SIG  SIGNATURE_32 ('V', 'B', 'L', 'K')\r
 \r
 typedef struct {\r
   //\r
@@ -34,20 +26,20 @@ 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 dpth\r
-  //                    ----------------------    ------------------  ---------\r
-  UINT32                Signature;             // DriverBindingStart  0\r
-  EFI_PCI_IO_PROTOCOL   *PciIo;                // DriverBindingStart  0\r
-  UINT64                OriginalPciAttributes; // DriverBindingStart  0\r
-  VRING                 Ring;                  // VirtioRingInit      2\r
-  EFI_BLOCK_IO_PROTOCOL BlockIo;               // VirtioBlkInit       1\r
-  EFI_BLOCK_IO_MEDIA    BlockIoMedia;          // VirtioBlkInit       1\r
+  //                     field                    init function       init dpth\r
+  //                     ---------------------    ------------------  ---------\r
+  UINT32                    Signature;         // DriverBindingStart  0\r
+  VIRTIO_DEVICE_PROTOCOL    *VirtIo;           // DriverBindingStart  0\r
+  EFI_EVENT                 ExitBoot;          // DriverBindingStart  0\r
+  VRING                     Ring;              // VirtioRingInit      2\r
+  EFI_BLOCK_IO_PROTOCOL     BlockIo;           // VirtioBlkInit       1\r
+  EFI_BLOCK_IO_MEDIA        BlockIoMedia;      // VirtioBlkInit       1\r
+  VOID                      *RingMap;          // VirtioRingMap       2\r
 } VBLK_DEV;\r
 \r
 #define VIRTIO_BLK_FROM_BLOCK_IO(BlockIoPointer) \\r
         CR (BlockIoPointer, VBLK_DEV, BlockIo, VBLK_SIG)\r
 \r
-\r
 /**\r
 \r
   Device probe function for this driver.\r
@@ -66,11 +58,6 @@ typedef struct {
       underlying device\r
     - 9 Driver Binding Protocol -- for exporting ourselves\r
 \r
-  Specs relevant in the specific sense:\r
-  - UEFI Spec 2.3.1 + Errata C, 13.4 EFI PCI I/O Protocol\r
-  - Driver Writer's Guide for UEFI 2.3.1 v1.01, 18 PCI Driver Design\r
-    Guidelines, 18.3 PCI drivers.\r
-\r
   @param[in]  This                The EFI_DRIVER_BINDING_PROTOCOL object\r
                                   incorporating this driver (independently of\r
                                   any device).\r
@@ -82,28 +69,26 @@ typedef struct {
 \r
   @retval EFI_SUCCESS      The driver supports the device being probed.\r
 \r
-  @retval EFI_UNSUPPORTED  Based on virtio-blk PCI discovery, we do not support\r
+  @retval EFI_UNSUPPORTED  Based on virtio-blk discovery, we do not support\r
                            the device.\r
 \r
-  @return                  Error codes from the OpenProtocol() boot service or\r
-                           the PciIo protocol.\r
+  @return                  Error codes from the OpenProtocol() boot service.\r
 \r
 **/\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioBlkDriverBindingSupported (\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
 /**\r
 \r
   After we've pronounced support for a specific device in\r
   DriverBindingSupported(), we start managing said device (passed in by the\r
-  Driver Exeuction Environment) with the following service.\r
+  Driver Execution Environment) with the following service.\r
 \r
   See DriverBindingSupported() for specification references.\r
 \r
@@ -117,26 +102,25 @@ VirtioBlkDriverBindingSupported (
 \r
 \r
   @retval EFI_SUCCESS           Driver instance has been created and\r
-                                initialized  for the virtio-blk PCI device, it\r
-                                is now accessibla via EFI_BLOCK_IO_PROTOCOL.\r
+                                initialized  for the virtio-blk device, it\r
+                                is now accessible via EFI_BLOCK_IO_PROTOCOL.\r
 \r
   @retval EFI_OUT_OF_RESOURCES  Memory allocation failed.\r
 \r
   @return                       Error codes from the OpenProtocol() boot\r
-                                service, the PciIo protocol, VirtioBlkInit(),\r
-                                or the InstallProtocolInterface() boot service.\r
+                                service, VirtioBlkInit(), or the\r
+                                InstallProtocolInterface() boot service.\r
 \r
 **/\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioBlkDriverBindingStart (\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
 /**\r
 \r
   Stop driving a virtio-blk device and remove its BlockIo interface.\r
@@ -163,13 +147,12 @@ VirtioBlkDriverBindingStart (
 EFI_STATUS\r
 EFIAPI\r
 VirtioBlkDriverBindingStop (\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
 // UEFI Spec 2.3.1 + Errata C, 12.8 EFI Block I/O Protocol\r
 // Driver Writer's Guide for UEFI 2.3.1 v1.01,\r
@@ -178,11 +161,10 @@ VirtioBlkDriverBindingStop (
 EFI_STATUS\r
 EFIAPI\r
 VirtioBlkReset (\r
-  IN EFI_BLOCK_IO_PROTOCOL *This,\r
-  IN BOOLEAN               ExtendedVerification\r
+  IN EFI_BLOCK_IO_PROTOCOL  *This,\r
+  IN BOOLEAN                ExtendedVerification\r
   );\r
 \r
-\r
 /**\r
 \r
   ReadBlocks() operation for virtio-blk.\r
@@ -204,14 +186,13 @@ VirtioBlkReset (
 EFI_STATUS\r
 EFIAPI\r
 VirtioBlkReadBlocks (\r
-  IN  EFI_BLOCK_IO_PROTOCOL *This,\r
-  IN  UINT32                MediaId,\r
-  IN  EFI_LBA               Lba,\r
-  IN  UINTN                 BufferSize,\r
-  OUT VOID                  *Buffer\r
+  IN  EFI_BLOCK_IO_PROTOCOL  *This,\r
+  IN  UINT32                 MediaId,\r
+  IN  EFI_LBA                Lba,\r
+  IN  UINTN                  BufferSize,\r
+  OUT VOID                   *Buffer\r
   );\r
 \r
-\r
 /**\r
 \r
   WriteBlocks() operation for virtio-blk.\r
@@ -233,14 +214,13 @@ VirtioBlkReadBlocks (
 EFI_STATUS\r
 EFIAPI\r
 VirtioBlkWriteBlocks (\r
-  IN EFI_BLOCK_IO_PROTOCOL *This,\r
-  IN UINT32                MediaId,\r
-  IN EFI_LBA               Lba,\r
-  IN UINTN                 BufferSize,\r
-  IN VOID                  *Buffer\r
+  IN EFI_BLOCK_IO_PROTOCOL  *This,\r
+  IN UINT32                 MediaId,\r
+  IN EFI_LBA                Lba,\r
+  IN UINTN                  BufferSize,\r
+  IN VOID                   *Buffer\r
   );\r
 \r
-\r
 /**\r
 \r
   FlushBlocks() operation for virtio-blk.\r
@@ -261,10 +241,9 @@ VirtioBlkWriteBlocks (
 EFI_STATUS\r
 EFIAPI\r
 VirtioBlkFlushBlocks (\r
-  IN EFI_BLOCK_IO_PROTOCOL *This\r
+  IN EFI_BLOCK_IO_PROTOCOL  *This\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
@@ -280,19 +259,19 @@ VirtioBlkFlushBlocks (
 EFI_STATUS\r
 EFIAPI\r
 VirtioBlkGetDriverName (\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
 EFI_STATUS\r
 EFIAPI\r
 VirtioBlkGetDeviceName (\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_BLK_DXE_H_\r