summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--OvmfPkg/Include/Library/VirtioLib.h35
-rw-r--r--OvmfPkg/Library/VirtioLib/VirtioLib.c38
2 files changed, 37 insertions, 36 deletions
diff --git a/OvmfPkg/Include/Library/VirtioLib.h b/OvmfPkg/Include/Library/VirtioLib.h
index 547b4ee497..bca58cdeb2 100644
--- a/OvmfPkg/Include/Library/VirtioLib.h
+++ b/OvmfPkg/Include/Library/VirtioLib.h
@@ -151,33 +151,34 @@ VirtioPrepare (
The caller is responsible for initializing *Indices with VirtioPrepare()
first.
- @param[in,out] Ring The virtio ring to append the buffer to, as a
- descriptor.
+ @param[in,out] Ring The virtio ring to append the buffer to,
+ as a descriptor.
- @param[in] BufferPhysAddr (Guest pseudo-physical) start address of the
- transmit / receive buffer.
+ @param[in] BufferDeviceAddress (Bus master device) start address of the
+ transmit / receive buffer.
- @param[in] BufferSize Number of bytes to transmit or receive.
+ @param[in] BufferSize Number of bytes to transmit or receive.
- @param[in] Flags A bitmask of VRING_DESC_F_* flags. The caller
- computes this mask dependent on further buffers to
- append and transfer direction.
- VRING_DESC_F_INDIRECT is unsupported. The
- VRING_DESC.Next field is always set, but the host
- only interprets it dependent on VRING_DESC_F_NEXT.
+ @param[in] Flags A bitmask of VRING_DESC_F_* flags. The
+ caller computes this mask dependent on
+ further buffers to append and transfer
+ direction. VRING_DESC_F_INDIRECT is
+ unsupported. The VRING_DESC.Next field is
+ always set, but the host only interprets
+ it dependent on VRING_DESC_F_NEXT.
- @param[in,out] Indices Indices->HeadDescIdx is not accessed.
- On input, Indices->NextDescIdx identifies the next
- descriptor to carry the buffer. On output,
- Indices->NextDescIdx is incremented by one, modulo
- 2^16.
+ @param[in,out] Indices Indices->HeadDescIdx is not accessed.
+ On input, Indices->NextDescIdx identifies
+ the next descriptor to carry the buffer.
+ On output, Indices->NextDescIdx is
+ incremented by one, modulo 2^16.
**/
VOID
EFIAPI
VirtioAppendDesc (
IN OUT VRING *Ring,
- IN UINTN BufferPhysAddr,
+ IN UINT64 BufferDeviceAddress,
IN UINT32 BufferSize,
IN UINT16 Flags,
IN OUT DESC_INDICES *Indices
diff --git a/OvmfPkg/Library/VirtioLib/VirtioLib.c b/OvmfPkg/Library/VirtioLib/VirtioLib.c
index 40ea17dfaf..b94f2dd7cb 100644
--- a/OvmfPkg/Library/VirtioLib/VirtioLib.c
+++ b/OvmfPkg/Library/VirtioLib/VirtioLib.c
@@ -189,7 +189,6 @@ VirtioPrepare (
Indices->NextDescIdx = Indices->HeadDescIdx;
}
-
/**
Append a contiguous buffer for transmission / reception via the virtio ring.
@@ -205,33 +204,34 @@ VirtioPrepare (
The caller is responsible for initializing *Indices with VirtioPrepare()
first.
- @param[in,out] Ring The virtio ring to append the buffer to, as a
- descriptor.
+ @param[in,out] Ring The virtio ring to append the buffer to,
+ as a descriptor.
- @param[in] BufferPhysAddr (Guest pseudo-physical) start address of the
- transmit / receive buffer.
+ @param[in] BufferDeviceAddress (Bus master device) start address of the
+ transmit / receive buffer.
- @param[in] BufferSize Number of bytes to transmit or receive.
+ @param[in] BufferSize Number of bytes to transmit or receive.
- @param[in] Flags A bitmask of VRING_DESC_F_* flags. The caller
- computes this mask dependent on further buffers to
- append and transfer direction.
- VRING_DESC_F_INDIRECT is unsupported. The
- VRING_DESC.Next field is always set, but the host
- only interprets it dependent on VRING_DESC_F_NEXT.
+ @param[in] Flags A bitmask of VRING_DESC_F_* flags. The
+ caller computes this mask dependent on
+ further buffers to append and transfer
+ direction. VRING_DESC_F_INDIRECT is
+ unsupported. The VRING_DESC.Next field is
+ always set, but the host only interprets
+ it dependent on VRING_DESC_F_NEXT.
- @param[in,out] Indices Indices->HeadDescIdx is not accessed.
- On input, Indices->NextDescIdx identifies the next
- descriptor to carry the buffer. On output,
- Indices->NextDescIdx is incremented by one, modulo
- 2^16.
+ @param[in,out] Indices Indices->HeadDescIdx is not accessed.
+ On input, Indices->NextDescIdx identifies
+ the next descriptor to carry the buffer.
+ On output, Indices->NextDescIdx is
+ incremented by one, modulo 2^16.
**/
VOID
EFIAPI
VirtioAppendDesc (
IN OUT VRING *Ring,
- IN UINTN BufferPhysAddr,
+ IN UINT64 BufferDeviceAddress,
IN UINT32 BufferSize,
IN UINT16 Flags,
IN OUT DESC_INDICES *Indices
@@ -240,7 +240,7 @@ VirtioAppendDesc (
volatile VRING_DESC *Desc;
Desc = &Ring->Desc[Indices->NextDescIdx++ % Ring->QueueSize];
- Desc->Addr = BufferPhysAddr;
+ Desc->Addr = BufferDeviceAddress;
Desc->Len = BufferSize;
Desc->Flags = Flags;
Desc->Next = Indices->NextDescIdx % Ring->QueueSize;