Here is some interesting lines showing Xen failing without iommu=no-igfx:
--- /home/john/Downloads/amtterm/x200_xen_debug-normal-no_ts.txt
+++ /home/john/Downloads/amtterm/x200_xen_debug-iommu-no_igfx-no_ts.txt
@@ -339,23 +339,10 @@
(XEN) [VT-D]iommu.c:1465: d0:PCI: map 0000:00:1f.3
(XEN) [VT-D]iommu.c:1453: d0:PCIe: map 0000:03:00.0
(XEN) [VT-D]iommu.c:729: iommu_enable_translation: iommu->reg = ffff82c000205000
-(XEN) [VT-D]iommu.c:729: iommu_enable_translation: iommu->reg = ffff82c000203000
+(XEN) [VT-D]iommu.c:719: BIOS did not enable IGD for VT properly. Disabling IGD VT-d engine.
(XEN) [VT-D]iommu.c:729: iommu_enable_translation: iommu->reg = ffff82c000201000
(XEN) [VT-D]iommu.c:729: iommu_enable_translation: iommu->reg = ffff82c000207000
(XEN) Scrubbing Free RAM on 1 nodes using 2 CPUs
-(XEN) [VT-D]iommu.c:873: iommu_fault_status: Fault Overflow
-(XEN) [VT-D]iommu.c:875: iommu_fault_status: Primary Pending Fault
-(XEN) [VT-D]DMAR:[DMA Write] Request device [0000:00:02.0] fault addr ffffff000, iommu reg = ffff82c000203000
-(XEN) [VT-D]DMAR: reason 05 - PTE Write access is not set
-(XEN) print_vtd_entries: iommu ffff8301363fa7d0 dev 0000:00:02.0 gmfn ffffff
-(XEN) root_entry = ffff8301363f4000
-(XEN) root_entry[0] = 80fa001
-(XEN) context = ffff8300080fa000
-(XEN) context[10] = 1_8ae0001
-(XEN) l3 = ffff830008ae0000
-(XEN) l3_index = 3f
-(XEN) l3[3f] = 0
-(XEN) l3[3f] not present
(XEN) ....................done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
I restate my comprehension.
iommu=no-igfx needs to be passed to hypervisor for it to boot.
iommu=dom0-passthrough would also be needed for dom0 tobe able to unset iommu usage for itself?
For Dom0 to have access to device, I also understand that intel_iommu=igfx_off kernel option would need to be passed to i915 driver of dom0?
Doing so still fails without error. Any hint?
Doing so by providing dom0-pass