[Bug 205549] bhyve pci passthru stops working after guest is restarted
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Wed Dec 23 19:32:15 UTC 2015
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205549
Bug ID: 205549
Summary: bhyve pci passthru stops working after guest is
restarted
Product: Base System
Version: 11.0-CURRENT
Hardware: amd64
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: freebsd-bugs at FreeBSD.org
Reporter: sm at ara-ler.com
This is 100% reproducible in Thinkpad T430 with FreeBSD 11-CURRENT base r292595
(Dec 22, 2015).
I pass trough a PCI device (USB controller) to a Linux guest. When I boot
Linux VM, it fully controls the USB controller and those USB ports, and I see
e.g. the USB flash in Linux when plug it in. As soon as I shut down Linux, the
host takes the control over, and the USB flash drive appears as /dev/da0 in
FreeBSD.
The bhyve guest (re)started then does has no control on that PCI device
although it shows it:
$ lspci -v
00:07.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
Family USB xHCI Host Controller (rev 04) (prog-if 30 [XHCI])
Subsystem: Lenovo Device 21f3
Flags: bus master, medium devsel, latency 0, IRQ 24
Memory at c0010000 (64-bit, prefetchable) [size=64K]
Capabilities: [70] Power Management version 2
Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
Kernel driver in use: xhci_hcd
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
This behavior does not depend on the time when the USB device is plugged:
before guest is booted or after, unplugged before shutdown or after.
The host FreeBSD has the same device description before or after the issue:
$ pciconf -vl
....
ppt0 at pci0:0:20:0: class=0x0c0330 card=0x21f317aa chip=0x1e318086
rev=0x04 hdr=0x00
vendor = 'Intel Corporation'
device = '7 Series/C210 Series Chipset Family USB xHCI Host
Controller'
class = serial bus
subclass = USB
....
When the USB device appears in the host device list it looks as:
$ devinfo | grep -B15 mass
pcib1
pci1
sdhci_pci0
pcib2
pci2
iwn0
pcib3
pci3
ehci1
usbus1
uhub1
uhub3
umass0 <==
Since it's a XHCI controller I tried to run FreeBSD kernel with xhci driver not
compiled-in. It does not help. Most likely the USB controller can be also
handled by ehci driver.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list