[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] PCI passthrough of USB controllers on Xen 4.8.1, Linux 4.9.29, stubdomain
Hi, I'm trying to passthrough USB controllers (details below) to a HVM domain with qemu running in stubdomain. There are two of them (EHCI and xHCI), neither of them works. The stubdomain is non-standard Linux based with Qemu 2.8.0. Both dom0 and guest are running Linux 4.9.29 very close to vanilla. I've started debugging with EHCI. On modprobe ehci-pci I get: [52453.633768] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [52453.634496] ehci-pci: EHCI PCI platform driver [52453.640088] ehci-pci 0000:00:06.0: EHCI Host Controller [52453.640466] ehci-pci 0000:00:06.0: new USB bus registered, assigned bus number 5 [52462.453251] ehci-pci 0000:00:06.0: can't setup: -110 [52462.453315] ehci-pci 0000:00:06.0: USB bus 5 deregistered [52462.458375] ehci-pci 0000:00:06.0: init 0000:00:06.0 fail, -110 [52462.458421] ehci-pci: probe of 0000:00:06.0 failed with error -110 And at this time, stubdomain print this: [00:06.0] xen_pt_bar_read: Error: Should not read BAR through QEMU. @0x0000000000000004 [00:06.0] xen_pt_bar_read: Error: Should not read BAR through QEMU. @0x0000000000000004 [00:06.0] xen_pt_bar_read: Error: Should not read BAR through QEMU. @0x0000000000000004 [00:06.0] xen_pt_bar_read: Error: Should not read BAR through QEMU. @0x0000000000000004 [00:06.0] xen_pt_bar_read: Error: Should not read BAR through QEMU. @0x0000000000000004 [00:06.0] xen_pt_bar_read: Error: Should not read BAR through QEMU. @0x0000000000000004 [00:06.0] xen_pt_bar_read: Error: Should not read BAR through QEMU. @0x0000000000000004 [00:06.0] xen_pt_bar_read: Error: Should not read BAR through QEMU. @0x0000000000000004 [00:06.0] xen_pt_bar_read: Error: Should not read BAR through QEMU. @0x0000000000000004 [00:06.0] xen_pt_bar_read: Error: Should not read BAR through QEMU. @0x0000000000000004 repeated a lot more times, sometimes with slightly different addresses and/or for write. Just to be sure, I've checked with mini-os based stubdomain, but there I don't even see the EHCI one (only xHCI, which doesn't work the same way as on updated stubdomain). Regarding xHCI, the domU messages are (this one is from older kernel, but the same happens on 4.9 too): [ 347.822393] xhci_hcd 0000:00:05.0: xHCI Host Controller [ 347.822764] xhci_hcd 0000:00:05.0: new USB bus registered, assigned bus number 2 [ 347.825391] xhci_hcd 0000:00:05.0: hcc params 0x200077c1 hci version 0x100 quirks 0x0004b810 [ 347.832346] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 [ 347.832482] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 347.832643] usb usb2: Product: xHCI Host Controller [ 347.832779] usb usb2: Manufacturer: Linux 4.8.13-100.fc23.x86_64 xhci-hcd [ 347.832970] usb usb2: SerialNumber: 0000:00:05.0 [ 347.833867] hub 2-0:1.0: USB hub found [ 347.834089] hub 2-0:1.0: 11 ports detected [ 347.835127] xhci_hcd 0000:00:05.0: xHCI Host Controller [ 347.836927] xhci_hcd 0000:00:05.0: new USB bus registered, assigned bus number 3 [ 347.837382] usb usb3: New USB device found, idVendor=1d6b, idProduct=0003 [ 347.837582] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 347.837784] usb usb3: Product: xHCI Host Controller [ 347.837921] usb usb3: Manufacturer: Linux 4.8.13-100.fc23.x86_64 xhci-hcd [ 347.838159] usb usb3: SerialNumber: 0000:00:05.0 [ 347.838942] hub 3-0:1.0: USB hub found [ 347.839158] hub 3-0:1.0: 4 ports detected [ 363.487226] xhci_hcd 0000:00:05.0: Error while assigning device slot ID [ 363.487368] xhci_hcd 0000:00:05.0: Max number of devices this xHCI host supports is 32. [ 363.487508] usb usb2-port1: couldn't allocate usb_device [ 383.967268] xhci_hcd 0000:00:05.0: Error while assigning device slot ID [ 383.967495] xhci_hcd 0000:00:05.0: Max number of devices this xHCI host supports is 32. [ 383.967715] usb usb2-port2: couldn't allocate usb_device And in this case, dom0 also prints: [ 49.155606] pciback 0000:00:14.0: Driver tried to write to a read-only configuration space field at offset 0x82, size 2. This may be harmless, but if you have problems with your device: 1) see permissive attribute in sysfs 2) report problems to the xen-devel mailing list along with details of your device obtained from lspci. [ 66.247644] pciback 0000:00:14.0: cache line size of 64 is not supported [ 66.247646] xen_pciback: 0000:00:14.0: cannot enable memory-write-invalidate (-22) Enabling permissive mode doesn't change anything. Any idea what's wrong? -- Best Regards, Marek Marczykowski-Górecki Invisible Things Lab A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? Attachment:
signature.asc _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |