<div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Enviroment:  Â <font color="#0000ff">Intel NUC 6i5SYH </font>+ Fedora 25 (kernel=4.8.6, qemu=2.7, runlevel=3)</div><div><br></div><div>[root@idv ~]# cat /proc/cpuinfo | grep 'model name' | head -1</div><div>model name  : Intel(R) Core(TM) i5-6260U CPU @ 1.80GHz</div><div><br></div><div>[root@idv ~]# lspci | grep VGA</div><div>00:02.0 VGA compatible controller: Intel Corporation Iris Graphics 540 (rev 0a)</div><div><br></div><div>[root@idv home]# uname -a</div><div>Linux idv 4.8.6-300.fc25.x86_64 #1 SMP Tue Nov 1 12:36:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux</div><div><br></div><div>[root@idv home]# cat /proc/cmdline | grep iommu</div><div>BOOT_IMAGE=/vmlinuz-4.8.6-300.fc25.x86_64 root=/dev/mapper/fedora_idv-root ro <a href="http://rd.lvm.lv">rd.lvm.lv</a>=fedora_idv/root <a href="http://rd.lvm.lv">rd.lvm.lv</a>=fedora_idv/swap <font color="#0000ff">intel_iommu=on iommu=pt</font> rhgb quiet</div><div><br></div><div>[root@idv home]# lsmod | grep vfio</div><div>vfio_iommu_type1  Â  Â  Â 20480  1</div><div>vfio_pci  Â  Â  Â  Â  Â  Â  Â 45056  1</div><div>vfio_virqfd  Â  Â  Â  Â  Â  16384  1 vfio_pci</div><div>irqbypass  Â  Â  Â  Â  Â  Â  16384  3 kvm,vfio_pci</div><div>vfio  Â  Â  Â  Â  Â  Â  Â  Â  Â 28672  5 vfio_iommu_type1,vfio_pci</div><div><br></div><div>According to Alex's blog: <a href="http://vfio.blogspot.com/2016/07/intel-graphics-assignment.html">http://vfio.blogspot.com/2016/07/intel-graphics-assignment.html</a></div><div>I create a win7 instance with hostdev:</div><div><br></div><div>  Â  <hostdev mode='subsystem' type='pci' managed='yes'></div><div>  Â  Â  <driver name='vfio'/></div><div>  Â  Â  <source></div><div>  Â  Â  Â  <address domain='0x0000' bus='0x00' slot='0x02' function='0x0'/></div><div>  Â  Â  </source></div><div>  Â  Â  <alias name='hostdev0'/></div><div>  Â  Â  <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/></div><div>  Â  </hostdev></div><div><br></div><div>and with x-igd-gms=1:</div><div><br></div><div>  <qemu:commandline></div><div>  Â  <qemu:arg value='-set'/></div><div>  Â  <qemu:arg value='device.hostdev0.<font color="#0000ff">x-igd-opregion=on</font>'/></div><div>  Â  <qemu:arg value='-set'/></div><div>  Â  <qemu:arg value='device.hostdev0.<font color="#0000ff">x-igd-gms=1</font>'/></div><div>  </qemu:commandline></div><div><br></div><div>Then a win7 instance is started with IGD passed through successfully <font color="#0000ff">but with low resolution of 640*480.</font></div><div>Intel driver is not installed. </div><div>In the "Standard VGA Adapter Properties" interface,<font color="#0000ff"> the "Total Available Graphic Memory" is 4194240 KB</font>.</div><div>The video ram, system video ram, system shared memory are all unavailable.</div><div><br></div><div>If I install intel driver and reboot, windows will be rebooted to recovery mode.</div><div><br></div><div>In host os, dmesg shows these error:</div><div><br></div><div>[å›› 9月 20 19:02:23 2018] Console: switching to colour dummy device 80x25</div><div>[å›› 9月 20 19:02:23 2018] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem</div><div>[å›› 9月 20 19:02:23 2018] virbr0: port 2(vnet0) entered blocking state</div><div>[å›› 9月 20 19:02:23 2018] virbr0: port 2(vnet0) entered disabled state</div><div>[å›› 9月 20 19:02:23 2018] device vnet0 entered promiscuous mode</div><div>[å›› 9月 20 19:02:23 2018] virbr0: port 2(vnet0) entered blocking state</div><div>[å›› 9月 20 19:02:23 2018] virbr0: port 2(vnet0) entered listening state</div><div>[å›› 9月 20 19:02:24 2018] DMAR: DRHD: handling fault status reg 2</div><div>[å›› 9月 20 19:02:24 2018] DMAR: [DMA Write] Request device [00:02.0] fault addr 0 [fault reason 02] Present bit in context entry is clear</div><div>[å›› 9月 20 19:02:24 2018] vfio_ecap_init: 0000:00:02.0 hiding ecap 0x1b@0x100</div><div>[å›› 9月 20 19:02:25 2018] kvm: zapping shadow pages for mmio generation wraparound</div><div>[å›› 9月 20 19:02:25 2018] virbr0: port 2(vnet0) entered learning state</div><div>[å›› 9月 20 19:02:26 2018] kvm: zapping shadow pages for mmio generation wraparound</div><div>[å›› 9月 20 19:02:27 2018] virbr0: port 2(vnet0) entered forwarding state</div><div>[å›› 9月 20 19:02:27 2018] virbr0: topology change detected, propagating</div><div>[å›› 9月 20 19:03:16 2018] usb 1-3: reset low-speed USB device number 2 using xhci_hcd</div><div>[å›› 9月 20 19:03:16 2018] usb 1-3: reset low-speed USB device number 2 using xhci_hcd</div><div>[å›› 9月 20 19:03:17 2018] usb 1-3: reset low-speed USB device number 2 using xhci_hcd</div><div><br></div><div>The whole libvirt xml:</div><div><div><br></div><div><domain type='kvm' id='1' xmlns:qemu='<a href="http://libvirt.org/schemas/domain/qemu/1.0">http://libvirt.org/schemas/domain/qemu/1.0</a>'></div><div>  <name>win7</name></div><div>  <uuid>6072d1a4-e968-4715-bf78-637c12d43874</uuid></div><div>  <memory unit='KiB'>8388608</memory></div><div>  <currentMemory unit='KiB'>8388608</currentMemory></div><div>  <vcpu placement='static'>2</vcpu></div><div>  <resource></div><div>  Â  <partition>/machine</partition></div><div>  </resource></div><div>  <os></div><div>  Â  <type arch='x86_64' machine='pc-i440fx-2.7'>hvm</type></div><div>  Â  <boot dev='hd'/></div><div>  </os></div><div>  <features></div><div>  Â  <acpi/></div><div>  Â  <apic/></div><div>  Â  <hyperv></div><div>  Â  Â  <relaxed state='on'/></div><div>  Â  Â  <vapic state='on'/></div><div>  Â  Â  <spinlocks state='on' retries='8191'/></div><div>  Â  </hyperv></div><div>  </features></div><div>  <cpu mode='custom' match='exact'></div><div>  Â  <model fallback='allow'>Broadwell-noTSX</model></div><div>  </cpu></div><div>  <clock offset='localtime'></div><div>  Â  <timer name='rtc' tickpolicy='catchup'/></div><div>  Â  <timer name='pit' tickpolicy='delay'/></div><div>  Â  <timer name='hpet' present='no'/></div><div>  Â  <timer name='hypervclock' present='yes'/></div><div>  </clock></div><div>  <on_poweroff>destroy</on_poweroff></div><div>  <on_reboot>restart</on_reboot></div><div>  <on_crash>restart</on_crash></div><div>  <pm></div><div>  Â  <suspend-to-mem enabled='no'/></div><div>  Â  <suspend-to-disk enabled='no'/></div><div>  </pm></div><div>  <devices></div><div>  Â  <emulator>/usr/bin/qemu-kvm</emulator></div><div>  Â  <disk type='file' device='disk'></div><div>  Â  Â  <driver name='qemu' type='qcow2'/></div><div>  Â  Â  <source file='/home/win7.qcow2'/></div><div>  Â  Â  <backingStore/></div><div>  Â  Â  <target dev='hda' bus='ide'/></div><div>  Â  Â  <alias name='ide0-0-0'/></div><div>  Â  Â  <address type='drive' controller='0' bus='0' target='0' unit='0'/></div><div>  Â  </disk></div><div>  Â  <controller type='usb' index='0' model='ich9-ehci1'></div><div>  Â  Â  <alias name='usb'/></div><div>  Â  Â  <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/></div><div>  Â  </controller></div><div>  Â  <controller type='usb' index='0' model='ich9-uhci1'></div><div>  Â  Â  <alias name='usb'/></div><div>  Â  Â  <master startport='0'/></div><div>  Â  Â  <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/></div><div>  Â  </controller></div><div>  Â  <controller type='usb' index='0' model='ich9-uhci2'></div><div>  Â  Â  <alias name='usb'/></div><div>  Â  Â  <master startport='2'/></div><div>  Â  Â  <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/></div><div>  Â  </controller></div><div>  Â  <controller type='usb' index='0' model='ich9-uhci3'></div><div>  Â  Â  <alias name='usb'/></div><div>  Â  Â  <master startport='4'/></div><div>  Â  Â  <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/></div><div>  Â  </controller></div><div>  Â  <controller type='pci' index='0' model='pci-root'></div><div>  Â  Â  <alias name='pci.0'/></div><div>  Â  </controller></div><div>  Â  <controller type='ide' index='0'></div><div>  Â  Â  <alias name='ide'/></div><div>  Â  Â  <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/></div><div>  Â  </controller></div><div>  Â  <interface type='network'></div><div>  Â  Â  <mac address='52:54:00:e2:d9:a6'/></div><div>  Â  Â  <source network='default' bridge='virbr0'/></div><div>  Â  Â  <target dev='vnet0'/></div><div>  Â  Â  <model type='rtl8139'/></div><div>  Â  Â  <alias name='net0'/></div><div>  Â  Â  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/></div><div>  Â  </interface></div><div>  Â  <serial type='pty'></div><div>  Â  Â  <source path='/dev/pts/1'/></div><div>  Â  Â  <target port='0'/></div><div>  Â  Â  <alias name='serial0'/></div><div>  Â  </serial></div><div>  Â  <console type='pty' tty='/dev/pts/1'></div><div>  Â  Â  <source path='/dev/pts/1'/></div><div>  Â  Â  <target type='serial' port='0'/></div><div>  Â  Â  <alias name='serial0'/></div><div>  Â  </console></div><div>  Â  <input type='tablet' bus='usb'></div><div>  Â  Â  <alias name='input0'/></div><div>  Â  Â  <address type='usb' bus='0' port='1'/></div><div>  Â  </input></div><div>  Â  <input type='mouse' bus='ps2'></div><div>  Â  Â  <alias name='input1'/></div><div>  Â  </input></div><div>  Â  <input type='keyboard' bus='ps2'></div><div>  Â  Â  <alias name='input2'/></div><div>  Â  </input></div><div>  Â  <hostdev mode='subsystem' type='pci' managed='yes'></div><div>  Â  Â  <driver name='vfio'/></div><div>  Â  Â  <source></div><div>  Â  Â  Â  <address domain='0x0000' bus='0x00' slot='0x02' function='0x0'/></div><div>  Â  Â  </source></div><div>  Â  Â  <alias name='hostdev0'/></div><div>  Â  Â  <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/></div><div>  Â  </hostdev></div><div>  Â  <hostdev mode='subsystem' type='usb' managed='no'></div><div>  Â  Â  <source></div><div>  Â  Â  Â  <vendor id='0x093a'/></div><div>  Â  Â  Â  <product id='0x2521'/></div><div>  Â  Â  Â  <address bus='1' device='2'/></div><div>  Â  Â  </source></div><div>  Â  Â  <alias name='hostdev1'/></div><div>  Â  Â  <address type='usb' bus='0' port='2'/></div><div>  Â  </hostdev></div><div>  Â  <memballoon model='virtio'></div><div>  Â  Â  <alias name='balloon0'/></div><div>  Â  Â  <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/></div><div>  Â  </memballoon></div><div>  </devices></div><div>  <seclabel type='none' model='none'/></div><div>  <seclabel type='dynamic' model='dac' relabel='yes'></div><div>  Â  <label>+107:+107</label></div><div>  Â  <imagelabel>+107:+107</imagelabel></div><div>  </seclabel></div><div>  <qemu:commandline></div><div>  Â  <qemu:arg value='-set'/></div><div>  Â  <qemu:arg value='device.hostdev0.x-igd-opregion=on'/></div><div>  Â  <qemu:arg value='-set'/></div><div>  Â  <qemu:arg value='device.hostdev0.x-igd-gms=1'/></div><div>  </qemu:commandline></div><div></domain></div></div></div></div></div>