]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c
OvmfPkg: VIRTIO_DEVICE_PROTOCOL: pass VRING object to SetQueueAddress()
[mirror_edk2.git] / OvmfPkg / Library / VirtioMmioDeviceLib / VirtioMmioDeviceFunctions.c
index 2cd293ab88d9459bdf31cc0f980cdd5c497e5418..53c734f6b1af10cbc2eaf7b4fa730547dcbf8a08 100644 (file)
@@ -180,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