From: "Aviv Ben-David" <bd.a...@gmail.com>

Currently the implementation preventing VFIO to work together with
intel_iommu.

Signed-off-by: Aviv Ben-David <bd.a...@gmail.com>
---
 hw/i386/intel_iommu.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index d872969..0787714 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -2453,6 +2453,12 @@ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState *s, 
PCIBus *bus, int devfn)
     return vtd_dev_as;
 }
 
+static void vtd_iommu_replay(MemoryRegion *mr, IOMMUNotifier *n,
+                             bool is_write){
+    error_report("VFIO use with intel_iommu is currently not supported.");
+    exit(1);
+}
+
 /* Do the initialization. It will also be called when reset, so pay
  * attention when adding new initialization stuff.
  */
@@ -2467,6 +2473,7 @@ static void vtd_init(IntelIOMMUState *s)
 
     s->iommu_ops.translate = vtd_iommu_translate;
     s->iommu_ops.notify_flag_changed = vtd_iommu_notify_flag_changed;
+    s->iommu_ops.replay = vtd_iommu_replay;
     s->root = 0;
     s->root_extended = false;
     s->dmar_enabled = false;
-- 
1.9.1


Reply via email to