On Thu, Feb 23, 2023 at 02:59:19PM +0800, Jason Wang wrote: > Hi All: > > According to ATS, device should work if ATS is disabled. This is not > correctly implemented in the current intel-iommu since it doesn't > handle the UNMAP notifier correctly. This breaks the vhost-net + > vIOMMU without dt. > > The root casue is that the when there's a device IOTLB miss (note that > it's not specific to PCI so it can work without ATS), Qemu doesn't > build the IOVA tree, so when guest start an IOTLB invalidation, Qemu > won't trigger the UNMAP notifier. > > Fixing this by triggering UNMAP notifier in those cases.
Maybe someday we should start merging different places where we used the same IOMMU_NOTIFIER_UNMAP event and also taking care of truncation of notifier ranges within memory.c, but that can definitely be done later. Reviewed-by: Peter Xu <pet...@redhat.com> Thanks, Jason! -- Peter Xu