virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* 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

only message in thread, other threads:[~2022-11-14 16:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <2022111420314945171759@tom.com>
2022-11-14 16:18 ` vIOMMU&IOMMU gIOVA to HPA mapping Alex Williamson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).