]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.h
OvmfPkg/Virtio: take RingBaseShift in SetQueueAddress()
[mirror_edk2.git] / OvmfPkg / VirtioPciDeviceDxe / VirtioPciDevice.h
index 812061dc0c25b6dd65ec38cb097548e35963b6af..1f0dc45d501e33b7f901e3e0b17e1094542b3cc0 100644 (file)
@@ -3,6 +3,7 @@
   Internal definitions for the VirtIo PCI Device driver\r
 \r
   Copyright (C) 2013, ARM Ltd\r
   Internal definitions for the VirtIo PCI 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
 \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
@@ -86,13 +87,6 @@ VirtioPciGetDeviceFeatures (
   OUT UINT64                *DeviceFeatures\r
   );\r
 \r
   OUT UINT64                *DeviceFeatures\r
   );\r
 \r
-EFI_STATUS\r
-EFIAPI\r
-VirtioPciGetQueueAddress (\r
-  IN  VIRTIO_DEVICE_PROTOCOL *This,\r
-  OUT UINT32                 *QueueAddress\r
-  );\r
-\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciGetQueueSize (\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciGetQueueSize (\r
@@ -103,15 +97,15 @@ VirtioPciGetQueueSize (
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciSetQueueAlignment (\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciSetQueueAlignment (\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
 VirtioPciSetPageSize (\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciSetPageSize (\r
-  VIRTIO_DEVICE_PROTOCOL         *This,\r
-  UINT32                         PageSize\r
+  IN  VIRTIO_DEVICE_PROTOCOL         *This,\r
+  IN  UINT32                         PageSize\r
   );\r
 \r
 EFI_STATUS\r
   );\r
 \r
 EFI_STATUS\r
@@ -131,36 +125,70 @@ VirtioPciSetGuestFeatures (
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciSetQueueAddress (\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciSetQueueAddress (\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
 VirtioPciSetQueueSel (\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciSetQueueSel (\r
-  VIRTIO_DEVICE_PROTOCOL         *This,\r
-  UINT16                         Sel\r
+  IN  VIRTIO_DEVICE_PROTOCOL         *This,\r
+  IN  UINT16                         Sel\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciSetQueueNotify (\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciSetQueueNotify (\r
-  VIRTIO_DEVICE_PROTOCOL         *This,\r
-  UINT16                         Index\r
+  IN  VIRTIO_DEVICE_PROTOCOL         *This,\r
+  IN  UINT16                         Index\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciSetQueueSize (\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciSetQueueSize (\r
-  VIRTIO_DEVICE_PROTOCOL         *This,\r
-  UINT16                         Size\r
+  IN  VIRTIO_DEVICE_PROTOCOL         *This,\r
+  IN  UINT16                         Size\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciSetDeviceStatus (\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 VirtioPciSetDeviceStatus (\r
-  VIRTIO_DEVICE_PROTOCOL         *This,\r
-  UINT8                          DeviceStatus\r
+  IN  VIRTIO_DEVICE_PROTOCOL         *This,\r
+  IN  UINT8                          DeviceStatus\r
   );\r
 \r
   );\r
 \r
+EFI_STATUS\r
+EFIAPI\r
+VirtioPciAllocateSharedPages (\r
+  IN  VIRTIO_DEVICE_PROTOCOL        *This,\r
+  IN  UINTN                         NumPages,\r
+  OUT VOID                          **HostAddress\r
+  );\r
+\r
+VOID\r
+EFIAPI\r
+VirtioPciFreeSharedPages (\r
+  IN  VIRTIO_DEVICE_PROTOCOL        *This,\r
+  IN  UINTN                         NumPages,\r
+  IN  VOID                          *HostAddress\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+VirtioPciMapSharedBuffer (\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
+VirtioPciUnmapSharedBuffer (\r
+  IN  VIRTIO_DEVICE_PROTOCOL        *This,\r
+  IN  VOID                          *Mapping\r
+  );\r
 #endif // _VIRTIO_PCI_DEVICE_DXE_H_\r
 #endif // _VIRTIO_PCI_DEVICE_DXE_H_\r