On 2017年02月16日 13:36, Liu, Yi L wrote:
-----Original Message-----
From: Qemu-devel
[mailto:address@hidden
On Behalf Of Michael S. Tsirkin
Sent: Tuesday, January 10, 2017 1:40 PM
To: address@hidden
Cc: Peter Maydell <address@hidden>; Eduardo Habkost
<address@hidden>; Jason Wang <address@hidden>; Peter Xu
<address@hidden>; Paolo Bonzini <address@hidden>; Richard
Henderson <address@hidden>
Subject: [Qemu-devel] [PULL 08/41] intel_iommu: support device iotlb
descriptor
From: Jason Wang <address@hidden>
This patch enables device IOTLB support for intel iommu. The major
work is to
implement QI device IOTLB descriptor processing and notify the
device through
iommu notifier.
Hi Jason/Michael,
Recently Peter Xu's patch also touched intel-iommu emulation. His
patch shadows
second-level page table by capturing iotlb flush from guest. It would
result in page
table updating in host. Does this patch also use the same map/umap
API provided
by VFIO?
Yes, it depends on the iommu notifier too.
If it is, then I think it would also update page table in host. It
looks to be
a duplicate update. Pls refer to the following snapshot captured from
section 6.5.2.5
of vtd spec.
"Since translation requests from a device may be serviced by hardware
from the IOTLB, software must
always request IOTLB invalidation (iotlb_inv_dsc) before requesting
corresponding Device-TLB
(dev_tlb_inv_dsc) invalidation."
Maybe for device-iotlb, we need a separate API which just pass down
the invalidate
info without updating page table. Any thoughts?
cc Alex.
If we want ATS to be visible for guest (but I'm not sure if VFIO
support this), we probably need another notifier or a new flag.
Thanks