]> 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 8f17a16c88f5b21bc3faa2fb4f863cc26813b281..1f0dc45d501e33b7f901e3e0b17e1094542b3cc0 100644 (file)
@@ -3,6 +3,7 @@
   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
@@ -96,15 +97,15 @@ VirtioPciGetQueueSize (
 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
-  VIRTIO_DEVICE_PROTOCOL         *This,\r
-  UINT32                         PageSize\r
+  IN  VIRTIO_DEVICE_PROTOCOL         *This,\r
+  IN  UINT32                         PageSize\r
   );\r
 \r
 EFI_STATUS\r
@@ -125,35 +126,69 @@ EFI_STATUS
 EFIAPI\r
 VirtioPciSetQueueAddress (\r
   IN VIRTIO_DEVICE_PROTOCOL  *This,\r
-  IN VRING                   *Ring\r
+  IN VRING                   *Ring,\r
+  IN UINT64                  RingBaseShift\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
-  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
-  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
-  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
+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