On 2017年02月16日 13:43, Jason Wang wrote:


On 2017年02月16日 13:36, Liu, Yi L wrote:
-----Original Message-----
From: Qemu-devel [mailto:[email protected]]
On Behalf Of Michael S. Tsirkin
Sent: Tuesday, January 10, 2017 1:40 PM
To: [email protected]
Cc: Peter Maydell <[email protected]>; Eduardo Habkost
<[email protected]>; Jason Wang <[email protected]>; Peter Xu
<[email protected]>; Paolo Bonzini <[email protected]>; Richard
Henderson <[email protected]>
Subject: [Qemu-devel] [PULL 08/41] intel_iommu: support device iotlb
descriptor

From: Jason Wang <[email protected]>

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

Or need a dedicated address_space if ATS were enabled for the device.

Reply via email to