]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c
OvmfPkg/VirtioMmioDeviceLib: add missing IN and OUT decoration
[mirror_edk2.git] / OvmfPkg / Library / VirtioMmioDeviceLib / VirtioMmioDeviceFunctions.c
index 4b7d2932836295ebba9c969f2b342420350e413d..9142d4a162c06f43659aa57b649afe7e0226ed84 100644 (file)
@@ -38,26 +38,6 @@ VirtioMmioGetDeviceFeatures (
   return EFI_SUCCESS;\r
 }\r
 \r
-EFI_STATUS\r
-EFIAPI\r
-VirtioMmioGetQueueAddress (\r
-  IN  VIRTIO_DEVICE_PROTOCOL *This,\r
-  OUT UINT32                 *QueueAddress\r
-  )\r
-{\r
-  VIRTIO_MMIO_DEVICE *Device;\r
-\r
-  if (QueueAddress == NULL) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  Device = VIRTIO_MMIO_DEVICE_FROM_VIRTIO_DEVICE (This);\r
-\r
-  *QueueAddress = VIRTIO_CFG_READ (Device, VIRTIO_MMIO_OFFSET_QUEUE_PFN);\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
 EFI_STATUS\r
 EFIAPI\r
 VirtioMmioGetQueueSize (\r
@@ -101,8 +81,8 @@ 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
   VIRTIO_MMIO_DEVICE *Device;\r
@@ -117,8 +97,8 @@ VirtioMmioSetQueueSize (
 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
   VIRTIO_MMIO_DEVICE *Device;\r
@@ -133,8 +113,8 @@ VirtioMmioSetDeviceStatus (
 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
   VIRTIO_MMIO_DEVICE *Device;\r
@@ -149,8 +129,8 @@ VirtioMmioSetQueueNotify (
 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
   VIRTIO_MMIO_DEVICE *Device;\r
@@ -165,8 +145,8 @@ VirtioMmioSetQueueAlignment (
 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
   VIRTIO_MMIO_DEVICE *Device;\r
@@ -185,8 +165,8 @@ VirtioMmioSetPageSize (
 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
   VIRTIO_MMIO_DEVICE *Device;\r
@@ -200,15 +180,16 @@ VirtioMmioSetQueueSel (
 \r
 EFI_STATUS\r
 VirtioMmioSetQueueAddress (\r
-  VIRTIO_DEVICE_PROTOCOL *This,\r
-  UINT32                  Address\r
+  IN VIRTIO_DEVICE_PROTOCOL  *This,\r
+  IN VRING                   *Ring\r
   )\r
 {\r
   VIRTIO_MMIO_DEVICE *Device;\r
 \r
   Device = VIRTIO_MMIO_DEVICE_FROM_VIRTIO_DEVICE (This);\r
 \r
-  VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_PFN, Address);\r
+  VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_PFN,\r
+    (UINT32)((UINTN)Ring->Base >> EFI_PAGE_SHIFT));\r
 \r
   return EFI_SUCCESS;\r
 }\r
@@ -216,8 +197,8 @@ VirtioMmioSetQueueAddress (
 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
   VIRTIO_MMIO_DEVICE *Device;\r