]> 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 95f82611e29505fbc3ecd1eb4c918dd6dad07ad7..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
@@ -96,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
@@ -124,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
+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
   );\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