Hi,

the latest “feature” update of Windows 10 seems to break the IGD
passthrough on my VM.  I get the serial console as usual, but when
Windows starts to use the Intel driver I get vertical dotted stripes,
instead of 20 minutes circling update completion dots.  The VM continues
to run and remains active, judging from IO activity. My rom file has
been fixed with rom-fixer.  Found nothing too obvious in the logs.

Any thoughts?

Kernel version is 4.12.5.

Thanks,
Manuel

Note: replaced some values by placeholders indicated by '-' pre- and suffix.
libvirt XML:

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>win10</name>
  <uuid>-id-</uuid>
  <memory unit='KiB'>-int-</memory>
  <currentMemory unit='KiB'>-int-</currentMemory>
  <memoryBacking>
    <hugepages/>
  </memoryBacking>
  <vcpu placement='static'>3</vcpu>
  <iothreads>1</iothreads>
  <cputune>
    <vcpupin vcpu='1' cpuset='1'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <emulatorpin cpuset='3'/>
    <iothreadpin iothread='1' cpuset='3'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.7'>hvm</type>
    <bootmenu enable='no'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
    </hyperv>
    <vmport state='off'/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' cores='3' threads='1'/>
    <feature policy='optional' name='invtsc'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='rtc' present='yes' tickpolicy='delay' track='guest'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
    <timer name='hypervclock' present='yes'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>destroy</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='sdc' bus='sata'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file=-path-/virtio-win-0.1.118.iso'/>
      <target dev='sdd' bus='sata'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='4'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native' iothread='1'/>
      <source file='-img3-'/>
      <target dev='sda' bus='virtio'/>
      <boot order='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' 
function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native' iothread='1'/>
      <source file='-img2-'/>
      <target dev='sdb' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' 
function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native' iothread='1'/>
      <source file='-img1-'/>
      <target dev='sde' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' 
function='0x0'/>
    </disk>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 
function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' 
function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' 
function='0x0'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' 
function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0' 
multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' 
function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' 
function='0x2'/>
    </controller>
    <interface type='direct'>
      <mac address='52:54:00:95:63:4c'/>
      <source dev='enp0s25' mode='bridge'/>
      <model type='rtl8139'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' 
function='0x0'/>
    </interface>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <sound model='ich9'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' 
function='0x0'/>
    </sound>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x046d'/>
        <product id='0xc246'/>
      </source>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1b' 
function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0xfeed'/>
        <product id='0x1307'/>
      </source>
      <address type='usb' bus='0' port='2'/>
    </hostdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' 
function='0x0'/>
    </memballoon>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-machine'/>
    <qemu:arg 
value='pc-i440fx-2.7,accel=kvm,usb=off,vmport=off,dump-guest-core=off,kernel_irqchip=on'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg 
value='host,migratable=no,+invtsc,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff'/>
    <qemu:arg value='-set'/>
    <qemu:arg value='device.hostdev0.x-igd-opregion=on'/>
    <qemu:arg value='-set'/>
    <qemu:arg value='device.hostdev0.x-igd-gms=5'/>
    <qemu:arg value='-set'/>
    <qemu:arg value='device.hostdev0.romfile=-path-/-rom-'/>
    <qemu:env name='QEMU_AUDIO_DRV' value='alsa'/>
    <qemu:env name='QEMU_DAC_FIXED_SETTINGS' value='1'/>
    <qemu:env name='QEMU_DAC_TRY_POLL' value='0'/>
    <qemu:env name='QEMU_DAC_FIXED_FMT' value='S16'/>
    <qemu:env name='QEMU_DAC_FIXED_FREQ' value='96000'/>
    <qemu:env name='QEMU_DAC_FIXED_BUFFER_SIZE' value='16384'/>
    <qemu:env name='QEMU_DAC_FIXED_PERIOD_SIZE' value='512'/>
    <qemu:env name='QEMU_DAC_DEV' value='-device-'/>
  </qemu:commandline>
</domain>

kernel log:

Sep  1 08:38:49 -host- kernel: vfio-pci 0000:00:02.0: Invalid PCI ROM header 
signature: expecting 0xaa55, got 0xffff
Sep  1 08:38:49 -host- kernel: vfio-pci 0000:00:02.0: Invalid PCI ROM header 
signature: expecting 0xaa55, got 0xffff
Sep  1 08:38:49 -host- kernel: vfio-pci 0000:00:02.0: Invalid PCI ROM header 
signature: expecting 0xaa55, got 0xffff
Sep  1 08:38:49 -host- kernel: vfio-pci 0000:00:02.0: Invalid PCI ROM header 
signature: expecting 0xaa55, got 0xffff
Sep  1 08:38:49 -host- kernel: vfio-pci 0000:00:1b.0: enabling device (0000 -> 
0002)
Sep  1 08:38:50 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:38:50 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:38:50 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:38:50 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:38:50 -host- NetworkManager[3832]: <info>  [1504247930.7556] device 
(macvtap0): link connected
Sep  1 08:38:51 -host- kernel: vfio-pci 0000:00:02.0: vgaarb: changed VGA 
decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Sep  1 08:38:51 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:38:51 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:38:52 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:38:52 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:38:52 -host- NetworkManager[3832]: <info>  [1504247932.7610] manager: 
startup complete
Sep  1 08:38:50 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:38:50 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:38:50 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:38:50 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:38:50 -host- NetworkManager[3832]: <info>  [1504247930.7556] device 
(macvtap0): link connected
Sep  1 08:38:51 -host- kernel: vfio-pci 0000:00:02.0: vgaarb: changed VGA 
decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Sep  1 08:38:51 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:38:51 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:38:52 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:38:52 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:38:52 -host- NetworkManager[3832]: <info>  [1504247932.7610] manager: 
startup complete
Sep  1 08:38:53 -host- ntpd[3979]: Listen normally on 7 macvtap0 -ipv6-
Sep  1 08:38:58 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:38:58 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:38:58 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:38:58 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:39:06 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:39:06 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:39:07 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:39:07 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:39:08 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:39:08 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:39:08 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:39:08 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:39:08 -host- kernel: kvm [4146]: vcpu0, guest rIP: 0xfffff80e3a0e2010 
ignored rdmsr: 0x606
Sep  1 08:39:08 -host- kernel: kvm [4146]: vcpu0, guest rIP: 0xfffff80e3a0e2041 
ignored rdmsr: 0x639
Sep  1 08:39:08 -host- kernel: kvm [4146]: vcpu0, guest rIP: 0xfffff80e3a0e1d54 
ignored rdmsr: 0x606
Sep  1 08:39:08 -host- kernel: kvm [4146]: vcpu0, guest rIP: 0xfffff80e3a0e1dcb 
ignored rdmsr: 0x639
Sep  1 08:39:09 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:39:09 -host- kernel: usb 3-6.1.4: reset full-speed USB device number 
7 using xhci_hcd
Sep  1 08:39:10 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:39:10 -host- kernel: usb 3-6.1.3: reset full-speed USB device number 
6 using xhci_hcd
Sep  1 08:39:13 -host- kernel: kvm [4146]: vcpu2, guest rIP: 0xfffff80e3a0c573c 
ignored rdmsr: 0x639
Sep  1 08:39:13 -host- kernel: kvm [4146]: vcpu1, guest rIP: 0xfffff80e3a0c573c 
ignored rdmsr: 0x639
Sep  1 08:39:13 -host- kernel: kvm [4146]: vcpu1, guest rIP: 0xfffff80e3a0c573c 
ignored rdmsr: 0x639
Sep  1 08:39:14 -host- kernel: kvm [4146]: vcpu2, guest rIP: 0xfffff80e3a0c573c 
ignored rdmsr: 0x639
Sep  1 08:39:14 -host- kernel: kvm [4146]: vcpu2, guest rIP: 0xfffff80e3a0c573c 
ignored rdmsr: 0x639
Sep  1 08:39:14 -host- kernel: kvm [4146]: vcpu2, guest rIP: 0xfffff80e3a0c573c 
ignored rdmsr: 0x639
Sep  1 08:39:14 -host- kernel: kvm [4146]: vcpu2, guest rIP: 0xfffff80e3a0c573c 
ignored rdmsr: 0x639
Sep  1 08:39:14 -host- kernel: kvm [4146]: vcpu1, guest rIP: 0xfffff80e3a0c573c 
ignored rdmsr: 0x639
Sep  1 08:39:14 -host- kernel: kvm [4146]: vcpu1, guest rIP: 0xfffff80e3a0c573c 
ignored rdmsr: 0x639
Sep  1 08:39:14 -host- kernel: dmar_fault: 2777288 callbacks suppressed
Sep  1 08:39:14 -host- kernel: DMAR: DRHD: handling fault status reg 3
Sep  1 08:39:14 -host- kernel: DMAR: [DMA Read] Request device [00:02.0] fault 
addr f3d00000 [fault reason 06] PTE Read access is not set
...
Sep  1 08:39:19 -host- kernel: dmar_fault: 451708 callbacks suppressed
...
Sep  1 08:39:24 -host- kernel: dmar_fault: 430137 callbacks suppressed
...

libvirt log:

2017-09-01 07:19:52.107+0000: starting up libvirt version: 3.3.0, qemu version: 
2.9.0, hostname: sonnengebleicht.fritz.box
-env- /usr/bin/qemu-system-x86_64 -name guest=win10,debug-threads=on -S -object 
secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-1-win10/master-key.aes
 -machine pc-i440fx-2.7,accel=kvm,usb=off,vmport=off,dump-guest-core=off -cpu 
host,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff -m -int- -mem-prealloc 
-mem-path /var/lib/hugetlbfs/libvirt/qemu/1-win10 -realtime mlock=off -smp 
3,sockets=1,cores=3,threads=1 -object iothread,id=iothread1 -uuid -id- -display 
none -no-user-config -nodefaults -chardev 
socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-1-win10/monitor.sock,server,nowait
 -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,clock=vm 
-global kvm-pit.lost_tick_policy=delay -no-hpet -no-reboot -global 
PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot menu=off,strict=on 
-device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 -device 
ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x6.0x1 
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x6.0x2 
-device ahci,id=sata0,bus=pci.0,addr=0x8 -device 
virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 -drive 
if=none,media=cdrom,id=drive-sata0-0-1,readonly=on -device 
ide-cd,bus=sata0.1,drive=drive-sata0-0-1,id=sata0-0-1 -drive 
file=-path-/virtio-win-0.1.118.iso,format=raw,if=none,media=cdrom,id=drive-sata0-0-4,readonly=on
 -device ide-cd,bus=sata0.4,drive=drive-sata0-0-4,id=sata0-0-4 -drive 
file=-path-/img3,format=raw,if=none,id=drive-virtio-disk0,cache=none,aio=native 
-device 
virtio-blk-pci,iothread=iothread1,scsi=off,bus=pci.0,addr=0xb,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
 -drive 
file=-img2-,format=raw,if=none,id=drive-virtio-disk1,cache=none,aio=native 
-device 
virtio-blk-pci,iothread=iothread1,scsi=off,bus=pci.0,addr=0xa,drive=drive-virtio-disk1,id=virtio-disk1
 -drive 
file=-img1-,format=raw,if=none,id=drive-virtio-disk4,cache=none,aio=native 
-device 
virtio-blk-pci,iothread=iothread1,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk4,id=virtio-disk4
 -netdev tap,fd=21,id=hostnet0 -device 
rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:95:63:4c,bus=pci.0,addr=0x3 
-device ich9-intel-hda,id=sound0,bus=pci.0,addr=0x9 -device 
hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device 
vfio-pci,host=00:02.0,id=hostdev0,bus=pci.0,addr=0x2 -device 
usb-host,hostbus=3,hostaddr=7,id=hostdev1,bus=usb.0,port=1 -device 
vfio-pci,host=00:1b.0,id=hostdev2,bus=pci.0,addr=0x1b -device 
usb-host,hostbus=3,hostaddr=6,id=hostdev3,bus=usb.0,port=2 -device 
virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -machine 
pc-i440fx-2.7,accel=kvm,usb=off,vmport=off,dump-guest-core=off,kernel_irqchip=on
 -cpu 
host,migratable=no,+invtsc,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff -set 
device.hostdev0.x-igd-opregion=on -set device.hostdev0.x-igd-gms=5 -set 
device.hostdev0.romfile=-rom- -msg timestamp=on
2017-09-01 07:19:52.107+0000: Domain id=1 is tainted: custom-argv
2017-09-01 07:19:52.107+0000: Domain id=1 is tainted: host-cpu
ALSA lib -path-/pcm_direct.c:1604:(_snd_pcm_direct_get_slave_ipc_offset) 
Invalid value for card
alsa: Could not initialize DAC
alsa: Failed to open `default':
alsa: Reason: No such device
alsa: Could not initialize ADC
alsa: Failed to open `default':
alsa: Reason: No such device
audio: Failed to create voice `adc'
2017-09-01T07:20:58.117058Z qemu-system-x86_64: libusb_release_interface: -4 
[NO_DEVICE]
2017-09-01T07:20:58.117830Z qemu-system-x86_64: libusb_release_interface: -4 
[NO_DEVICE]
2017-09-01T07:20:58.117855Z qemu-system-x86_64: libusb_release_interface: -4 
[NO_DEVICE]
2017-09-01T07:20:58.117866Z qemu-system-x86_64: libusb_release_interface: -4 
[NO_DEVICE]
libusb: error [_open_sysfs_attr] open 
/sys/bus/usb/devices/3-6.1.3/bConfigurationValue failed ret=-1 errno=2

_______________________________________________
vfio-users mailing list
vfio-users@redhat.com
https://www.redhat.com/mailman/listinfo/vfio-users

Reply via email to