]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h
OvmfPkg/VirtioMmioDeviceLib: list "VirtioMmioDevice.h" in the INF file
[mirror_edk2.git] / OvmfPkg / Library / VirtioMmioDeviceLib / VirtioMmioDevice.h
index 3b1e90ba9f3b391d0dab4cd8b45157d9b6077e3e..e6279159f8ba989bc2a43a3a98751662f06a6b9c 100644 (file)
@@ -3,6 +3,7 @@
   Internal definitions for the VirtIo MMIO Device driver\r
 \r
   Copyright (C) 2013, ARM Ltd\r
+  Copyright (C) 2017, AMD Inc. All rights reserved.<BR>\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
@@ -25,6 +26,7 @@
 #include <Library/IoLib.h>\r
 #include <Library/UefiLib.h>\r
 #include <Library/VirtioMmioDeviceLib.h>\r
+#include <Library/MemoryAllocationLib.h>\r
 \r
 #define VIRTIO_MMIO_DEVICE_SIGNATURE  SIGNATURE_32 ('V', 'M', 'I', 'O')\r
 \r
@@ -85,56 +87,91 @@ VirtioMmioGetDeviceStatus (
 EFI_STATUS\r
 EFIAPI\r
 VirtioMmioSetQueueSize (\r
-  VIRTIO_DEVICE_PROTOCOL *This,\r
-  UINT16                  QueueSize\r
+  IN VIRTIO_DEVICE_PROTOCOL *This,\r
+  IN UINT16                  QueueSize\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioMmioSetDeviceStatus (\r
-  VIRTIO_DEVICE_PROTOCOL *This,\r
-  UINT8                   DeviceStatus\r
+  IN VIRTIO_DEVICE_PROTOCOL *This,\r
+  IN UINT8                   DeviceStatus\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioMmioSetQueueNotify (\r
-  VIRTIO_DEVICE_PROTOCOL *This,\r
-  UINT16                  QueueNotify\r
+  IN VIRTIO_DEVICE_PROTOCOL *This,\r
+  IN UINT16                  QueueNotify\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioMmioSetQueueSel (\r
-  VIRTIO_DEVICE_PROTOCOL *This,\r
-  UINT16                  Sel\r
+  IN VIRTIO_DEVICE_PROTOCOL *This,\r
+  IN UINT16                  Sel\r
   );\r
 \r
 EFI_STATUS\r
 VirtioMmioSetQueueAddress (\r
-  VIRTIO_DEVICE_PROTOCOL *This,\r
-  UINT32                  Address\r
+  IN VIRTIO_DEVICE_PROTOCOL  *This,\r
+  IN VRING                   *Ring,\r
+  IN UINT64                  RingBaseShift\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioMmioSetQueueAlignment (\r
-  VIRTIO_DEVICE_PROTOCOL *This,\r
-  UINT32                  Alignment\r
+  IN VIRTIO_DEVICE_PROTOCOL *This,\r
+  IN UINT32                  Alignment\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioMmioSetPageSize (\r
-  VIRTIO_DEVICE_PROTOCOL *This,\r
-  UINT32                  PageSize\r
+  IN VIRTIO_DEVICE_PROTOCOL *This,\r
+  IN UINT32                  PageSize\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioMmioSetGuestFeatures (\r
-  VIRTIO_DEVICE_PROTOCOL *This,\r
-  UINT64                  Features\r
+  IN VIRTIO_DEVICE_PROTOCOL *This,\r
+  IN UINT64                  Features\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+VirtioMmioAllocateSharedPages (\r
+  IN  VIRTIO_DEVICE_PROTOCOL        *This,\r
+  IN  UINTN                         NumPages,\r
+  OUT VOID                          **HostAddress\r
+  );\r
+\r
+VOID\r
+EFIAPI\r
+VirtioMmioFreeSharedPages (\r
+  IN  VIRTIO_DEVICE_PROTOCOL        *This,\r
+  IN  UINTN                         NumPages,\r
+  IN  VOID                          *HostAddress\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+VirtioMmioMapSharedBuffer (\r
+  IN      VIRTIO_DEVICE_PROTOCOL        *This,\r
+  IN      VIRTIO_MAP_OPERATION          Operation,\r
+  IN      VOID                          *HostAddress,\r
+  IN OUT  UINTN                         *NumberOfBytes,\r
+  OUT     EFI_PHYSICAL_ADDRESS          *DeviceAddress,\r
+  OUT     VOID                          **Mapping\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+VirtioMmioUnmapSharedBuffer (\r
+  IN  VIRTIO_DEVICE_PROTOCOL        *This,\r
+  IN  VOID                          *Mapping\r
   );\r
 \r
 #endif // _VIRTIO_MMIO_DEVICE_INTERNAL_H_\r