[vfio-users] q35, pcie 1x PCH, IOMMU confusion and freezing-host with no error log

Esteban Mañaricua emanaricua at gmail.com
Wed Nov 8 18:05:21 UTC 2017


Motherboard is h81h3-m4 and cpu is i5 4460 (+VT-x -VT-d)

the firewire card is a pcie 1x card attached to the smallest pcie port of
the mobo.

lspci -nn

00:00.0 Host bridge [0600]: Intel Corporation 4th Gen Core Processor DRAM
Controller [8086:0c00] (rev 06)

00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core
Processor PCI Express x16 Controller [8086:0c01] (rev 06)

00:02.0 Display controller [0380]: Intel Corporation Xeon E3-1200 v3/4th
Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06)

00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core
Processor HD Audio Controller [8086:0c0c] (rev 06)

00:14.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series
Chipset Family USB xHCI [8086:8c31] (rev 05)

00:1a.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series
Chipset Family USB EHCI #2 [8086:8c2d] (rev 05)

00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series Chipset
High Definition Audio Controller [8086:8c20] (rev 05)

00:1c.0 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset
Family PCI Express Root Port #1 [8086:8c10] (rev d5)

00:1c.4 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset
Family PCI Express Root Port #5 [8086:8c18] (rev d5)

00:1c.5 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset
Family PCI Express Root Port #6 [8086:8c1a] (rev d5)

00:1d.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series
Chipset Family USB EHCI #1 [8086:8c26] (rev 05)

00:1f.0 ISA bridge [0601]: Intel Corporation C220 Series Chipset Family H81
Express LPC Controller [8086:8c5c] (rev 05)

00:1f.2 SATA controller [0106]: Intel Corporation 8 Series/C220 Series
Chipset Family 6-port SATA Controller 1 [AHCI mode] [8086:8c02] (rev 05)

00:1f.3 SMBus [0c05]: Intel Corporation 8 Series/C220 Series Chipset Family
SMBus Controller [8086:8c22] (rev 05)

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208 [GeForce
GT 730] [10de:1287] (rev a1)

01:00.1 Audio device [0403]: NVIDIA Corporation GK208 HDMI/DP Audio
Controller [10de:0e0f] (rev a1)

03:00.0 PCI bridge [0604]: Texas Instruments XIO2000(A)/XIO2200A PCI
Express-to-PCI Bridge [104c:8231] (rev 03)

04:00.0 FireWire (IEEE 1394) [0c00]: Texas Instruments XIO2200A
IEEE-1394a-2000 Controller (PHY/Link) [104c:8235] (rev 01)

05:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd.
RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev
0c)

lspci -tvnn

-[0000:00]-+-00.0  Intel Corporation 4th Gen Core Processor DRAM Controller
[8086:0c00]

           +-01.0-[01]--+-00.0  NVIDIA Corporation GK208 [GeForce GT 730]
[10de:1287]

           |            \-00.1  NVIDIA Corporation GK208 HDMI/DP Audio
Controller [10de:0e0f]

           +-02.0  Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor
Integrated Graphics Controller [8086:0412]

           +-03.0  Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor
HD Audio Controller [8086:0c0c]

           +-14.0  Intel Corporation 8 Series/C220 Series Chipset Family
USB xHCI [8086:8c31]

           +-1a.0  Intel Corporation 8 Series/C220 Series Chipset Family
USB EHCI #2 [8086:8c2d]

           +-1b.0  Intel Corporation 8 Series/C220 Series Chipset High
Definition Audio Controller [8086:8c20]

           +-1c.0-[02]--

           +-1c.4-[03-04]----00.0-[04]----00.0  Texas Instruments XIO2200A
IEEE-1394a-2000 Controller (PHY/Link) [104c:8235]

           +-1c.5-[05]----00.0  Realtek Semiconductor Co., Ltd.
RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168]

           +-1d.0  Intel Corporation 8 Series/C220 Series Chipset Family
USB EHCI #1 [8086:8c26]

           +-1f.0  Intel Corporation C220 Series Chipset Family H81 Express
LPC Controller [8086:8c5c]

           +-1f.2  Intel Corporation 8 Series/C220 Series Chipset Family
6-port SATA Controller 1 [AHCI mode] [8086:8c02]

           \-1f.3  Intel Corporation 8 Series/C220 Series Chipset Family
SMBus Controller [8086:8c22]

qm showcmd for the vm

/usr/bin/kvm -id 105 -chardev
'socket,id=qmp,path=/var/run/qemu-server/105.qmp,server,nowait' -mon
'chardev=qmp,mode=control' -pidfile /var/run/qemu-server/105.pid -daemonize
-smbios 'type=1,uuid=fea313ad-aba6-4f54-96b4-cd59af6651ed' -drive
'if=pflash,unit=0,format=raw,readonly,file=/usr/share/kvm/OVMF_CODE-pure-efi.fd'
-drive
'if=pflash,unit=1,id=drive-efidisk0,file=/var/lib/vz/images/105/vm-105-disk-2.qcow2'
-name pruebasfw -smp '2,sockets=1,cores=2,maxcpus=2' -nodefaults -boot
'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg'
-vga none -nographic -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,kvm=off' -m 3000
-object 'memory-backend-ram,id=ram-node0,size=3000M' -numa
'node,nodeid=0,cpus=0-1,memdev=ram-node0' -k en-us -device
'i82801b11-bridge,bus=pcie.0,addr=1e.0,id=pci.0' -device
'vfio-pci,bus=pci.0,addr=00.0,id=firewire,host=04:00.0' -readconfig
/usr/share/qemu-server/pve-q35.cfg -device
'usb-tablet,id=tablet,bus=ehci.0,port=1' -device
'vfio-pci,host=01:00.0,id=hostpci1.0,bus=ich9-pcie-port-2,addr=0x0.0,multifunction=on,romfile=/usr/share/kvm/GK208.rom'
-device
'vfio-pci,host=01:00.1,id=hostpci1.1,bus=ich9-pcie-port-2,addr=0x0.1'
-device 'usb-host,hostbus=3,hostport=7,id=usb0' -device
'usb-host,hostbus=3,hostport=8,id=usb1' -device
'usb-host,hostbus=3,hostport=9,id=usb2' -chardev
'socket,path=/var/run/qemu-server/105.qga,server,nowait,id=qga0' -device
'virtio-serial,id=qga0,bus=pci.0,addr=0x8' -device
'virtserialport,chardev=qga0,name=org.qemu.guest_agent.0' -device
'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi
'initiator-name=iqn.1993-08.org.debian:01:8fa324d7d391' -drive
'file=/mnt/sdd1/MyShare/Downloads/template/iso/ubuntu-16.04.1-desktop-amd64.iso,if=none,id=drive-ide2,media=cdrom,aio=threads'
-device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200'
-device 'ahci,id=ahci0,multifunction=on,bus=pci.0,addr=0x7' -drive
'file=/var/lib/vz/images/105/vm-105-disk-1.raw,if=none,id=drive-sata0,format=raw,cache=none,aio=native,detect-zeroes=on'
-device 'ide-drive,bus=ahci0.0,drive=drive-sata0,id=sata0,bootindex=100'
-drive
'file=/mnt/sdd1/MyShare/Downloads/template/iso/virtio-win-0.1.126.iso,if=none,id=drive-sata1,media=cdrom,aio=threads'
-device 'ide-drive,bus=ahci0.1,drive=drive-sata1,id=sata1,bootindex=201'
-netdev
'type=tap,id=net0,ifname=tap105i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown'
-device
'e1000,mac=82:55:55:55:55:55,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300'
-machine 'type=q35'

pve-q35.cfg

[device "ehci"]

  driver = "ich9-usb-ehci1"

  multifunction = "on"

  bus = "pcie.0"

  addr = "1d.7"


[device "uhci-1"]

  driver = "ich9-usb-uhci1"

  multifunction = "on"

  bus = "pcie.0"

  addr = "1d.0"

  masterbus = "ehci.0"

  firstport = "0"


[device "uhci-2"]

  driver = "ich9-usb-uhci2"

  multifunction = "on"

  bus = "pcie.0"

  addr = "1d.1"

  masterbus = "ehci.0"

  firstport = "2"


[device "uhci-3"]

  driver = "ich9-usb-uhci3"

  multifunction = "on"

  bus = "pcie.0"

  addr = "1d.2"

  masterbus = "ehci.0"

  firstport = "4"


[device "ehci-2"]

  driver = "ich9-usb-ehci2"

  multifunction = "on"

  bus = "pcie.0"

  addr = "1a.7"


[device "uhci-4"]

  driver = "ich9-usb-uhci4"

  multifunction = "on"

  bus = "pcie.0"

  addr = "1a.0"

  masterbus = "ehci-2.0"

  firstport = "0"


[device "uhci-5"]

  driver = "ich9-usb-uhci5"

  multifunction = "on"

  bus = "pcie.0"

  addr = "1a.1"

  masterbus = "ehci-2.0"

  firstport = "2"


[device "uhci-6"]

  driver = "ich9-usb-uhci6"

  multifunction = "on"

  bus = "pcie.0"

  addr = "1a.2"

  masterbus = "ehci-2.0"

  firstport = "4"



[device "audio0"]

  driver = "ich9-intel-hda"

  bus = "pcie.0"

  addr = "1b.0"



[device "ich9-pcie-port-1"]

  driver = "ioh3420"

  multifunction = "on"

  bus = "pcie.0"

  addr = "1c.0"

  port = "1"

  chassis = "1"


[device "ich9-pcie-port-2"]

  driver = "ioh3420"

  multifunction = "on"

  bus = "pcie.0"

  addr = "1c.1"

  port = "2"

  chassis = "2"


[device "ich9-pcie-port-3"]

  driver = "ioh3420"

  multifunction = "on"

  bus = "pcie.0"

  addr = "1c.2"

  port = "3"

  chassis = "3"


[device "ich9-pcie-port-4"]

  driver = "ioh3420"

  multifunction = "on"

  bus = "pcie.0"

  addr = "1c.3"

  port = "4"

  chassis = "4"


#[device "pcie.2"]

#  driver = "pxb-pcie"

#  multifunction = "on"

#  addr = "1c.4"

#  bus_nr = "0x08"


#[device "pci.21"]

#  driver = "ioh3420"

#  multifunction = "on"

#  bus = "pcie.2"

#  addr = "0.3"

#  slot = "0x04"

#  port = "5"

#  chassis = "5"


[device "pcidmi"]

  driver = "i82801b11-bridge"

  bus = "pcie.0"

  addr = "1e.0"


[device "pci.0"]

  driver = "pci-bridge"

  bus = "pcidmi"

  addr = "1.0"

  chassis_nr = "1"

##

# Example PCIe switch with two downstream ports

#

I have tried what you suggested and after removing some entries from the
cfg file that overlapped with your recommended -device lines, I fire the
command "qm start 105" and the host freezes again.

the freeze affect the host system to the point I have to shut it down
completely and turn it back on, so whatever way I try to bind 04:00.0 to
the vm the host crashes completely and silently
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20171108/33745e36/attachment.htm>


More information about the vfio-users mailing list