[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: vIOMMU&IOMMU gIOVA to HPA mapping
From: |
Alex Williamson |
Subject: |
Re: vIOMMU&IOMMU gIOVA to HPA mapping |
Date: |
Mon, 14 Nov 2022 09:18:02 -0700 |
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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: vIOMMU&IOMMU gIOVA to HPA mapping,
Alex Williamson <=