* Re: vIOMMU&IOMMU gIOVA to HPA mapping
[not found] <2022111420314945171759@tom.com>
@ 2022-11-14 16:18 ` Alex Williamson
0 siblings, 0 replies; only message in thread
From: Alex Williamson @ 2022-11-14 16:18 UTC (permalink / raw)
To: leohou@tom.com; +Cc: iommu, qemu-arm, virtualization
On Mon, 14 Nov 2022 20:31:49 +0800
"leohou@tom.com" <leohou@tom.com> wrote:
> Hi,
> Here is my application scenario:
> 1. The NIC (Network Information Center) passes through to the VM(Virtual Machine);
> 2. The VM uses the user mode driver DPDK;
>
> Question:
> 1. vIOMMU maintains the mapping gIOVA->gPA, When do you use this gPA ?
QEMU in the host derives the hVA from the gPA. The vIOMMU driver in
QEMU is triggering the gIOVA to hVA mapping through vfio in the host.
> 2. Physical IOMMU maintains the GIOVA->HPA mapping ? If so, by what means (gIOVA -> HPA) mapping ?
As above, the vIOMMU in the guest provides gIOVA -> gPA, in QEMU we do
the gPA -> hVA, then vfio in the host kernel performs hVA -> hPA via
page pinning.
> 3. What does QEMU do in NIC pass-through address translation ?
The guest visible vIOMMU triggers MemoryListener notifications in QEMU
for the device address space, which insert and removes mappings to the
vfio layer below it. Thanks,
Alex
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
^ permalink raw reply [flat|nested] only message in thread