HVM doesn't see PCI device

204 views
Skip to first unread message

Jasper Tron

unread,
Jan 18, 2016, 5:33:58 PM1/18/16
to qubes...@googlegroups.com
I'm trying to do PCI passthrough with an HVM but the device doesn't show up with lspci on the HVM.

After starting the HVM, dmesg prints

[ 1494.343072] xen-blkback:ring-ref 2047, event-channel 4, protocol 1 (x86_64-abi)
[ 1494.355241] xen-blkback:ring-ref 2046, event-channel 5, protocol 1 (x86_64-abi)
[ 1494.378789] xen_pciback: vpci: 0000:01:00.0: assign to virtual slot 0
[ 1494.379293] pciback 0000:01:00.0: registering for 7
[ 1494.456481] xen-blkback:backend/vbd/7/51728: prepare for reconnect
[ 1494.458290] xen-blkback:backend/vbd/7/51712: prepare for reconnect
[ 1514.465779] xen-pciback pci-6-0: 22 Couldn't locate PCI device (0000:01:00.0)! perhaps already in-use?

and xl dmesg prints

(XEN) printk: 54 messages suppressed.
(XEN) event_channel.c:271:d0 EVTCHNOP failure: domain 7, error -22

I've tried:
  • using a different PCI device
  • setting pci_strictreset to false
  • enabling permissive mode for pciback

with no success. I've tried it on two different computers with almost entirely different hardware. They both have the same CPU, however: an i7-4790k. Has anyone else with this CPU had success doing PCI passthrough with an HVM?

I found a report of a similar issue here: https://groups.google.com/forum/#!topic/qubes-users/a6G23BDRnPw but that seems to be specific to Skylake CPUs, which I don't have.

Here's the output of qubes-hcl-report:

Qubes release 3.0 (R3.0)

Brand:          MSI
Model:          MS-7821
BIOS:           V10.7

Xen:            4.4.3
Kernel:         3.19.8-100

RAM:            32645 Mb

CPU:
  Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
Chipset:
  Intel Corporation 4th Gen Core Processor DRAM Controller [8086:0c00] (rev 06)
VGA:
  Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06) (prog-if 00 [VGA controller])
  Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT [Radeon R9 290X] [1002:67b0] (prog-if 00 [VGA controller])

Net:
  Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

SCSI:
  Samsung SSD 850  Rev: 1B6Q

HVM:            Active
I/O MMU:        Active
TPM:            Device not found

Does anyone have any suggestions for how to debug this? Are there other logs I can look at?

Thanks,
Jasper

Eric Shelton

unread,
Jan 18, 2016, 10:30:40 PM1/18/16
to qubes-users
My understanding is that HVM PCI passthrough has never worked using the qubes tools in any of the Qubes R3 series releases (obviously it works for passthrough to PV domains, such as sys-net).  My guess is that there is a bug in libvirt that needs to be tracked down (I certainly have encountered other bugs in libvirt).  Someone got passthrough working using the Xen xl tools, but I would not recommend it: https://groups.google.com/d/msg/qubes-users/cmPRMOkxkdA/gIV68O0-CQAJ

Has anyone on the Qubes team investigated this?  I do not even see an open issue recorded in qubes-issues.

Eric
Reply all
Reply to author
Forward
0 new messages