On Mon, Jan 23, 2017 at 10:01:11AM +0800, Jason Wang wrote:
On 2017年01月20日 21:08, Peter Xu wrote:
This patch is based on Aviv Ben-David (<address@hidden>)'s patch
upstream:
"IOMMU: enable intel_iommu map and unmap notifiers"
https://lists.gnu.org/archive/html/qemu-devel/2016-11/msg01453.html
However I removed/fixed some content, and added my own codes.
Instead of translate() every page for iotlb invalidations (which is
slower), we walk the pages when needed and notify in a hook function.
This patch enables vfio devices for VT-d emulation.
Signed-off-by: Peter Xu<address@hidden>
---
hw/i386/intel_iommu.c | 66 +++++++++++++++++++++++++++++++++++++------
include/hw/i386/intel_iommu.h | 8 ++++++
2 files changed, 65 insertions(+), 9 deletions(-)
A good side effect of this patch is that it makes vhost device IOTLB works
without ATS (though may be slow). We probably need a better title :)
How about I mention it in the commit message at the end? Like:
"And, since we already have vhost DMAR support via device-iotlb, a
natural benefit that this patch brings is that vt-d enabled vhost can
live even without ATS capability now. Though more tests are needed."