]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Virtio10Dxe/Virtio10.c
OvmfPkg/Virtio10Dxe: add the RingBaseShift offset
[mirror_edk2.git] / OvmfPkg / Virtio10Dxe / Virtio10.c
index ef9a00710668daf041b011224a1a9cbc1ba69e7c..e9b50b6e437b268456840e8f3ab11dab34edfe15 100644 (file)
@@ -498,11 +498,10 @@ Virtio10SetQueueAddress (
   UINT64         Address;\r
   UINT16         Enable;\r
 \r
-  ASSERT (RingBaseShift == 0);\r
-\r
   Dev = VIRTIO_1_0_FROM_VIRTIO_DEVICE (This);\r
 \r
   Address = (UINTN)Ring->Desc;\r
+  Address += RingBaseShift;\r
   Status = Virtio10Transfer (Dev->PciIo, &Dev->CommonConfig, TRUE,\r
              OFFSET_OF (VIRTIO_PCI_COMMON_CFG, QueueDesc),\r
              sizeof Address, &Address);\r
@@ -511,6 +510,7 @@ Virtio10SetQueueAddress (
   }\r
 \r
   Address = (UINTN)Ring->Avail.Flags;\r
+  Address += RingBaseShift;\r
   Status = Virtio10Transfer (Dev->PciIo, &Dev->CommonConfig, TRUE,\r
              OFFSET_OF (VIRTIO_PCI_COMMON_CFG, QueueAvail),\r
              sizeof Address, &Address);\r
@@ -519,6 +519,7 @@ Virtio10SetQueueAddress (
   }\r
 \r
   Address = (UINTN)Ring->Used.Flags;\r
+  Address += RingBaseShift;\r
   Status = Virtio10Transfer (Dev->PciIo, &Dev->CommonConfig, TRUE,\r
              OFFSET_OF (VIRTIO_PCI_COMMON_CFG, QueueUsed),\r
              sizeof Address, &Address);\r