Mike Neiderhauser
2014-Feb-04 17:48 UTC
Requesting Help - Error: pci: PCI Backend and pci-stub don't own device
Hi all, I am new to Xen and hyper vision in general. I have been searching the mailing list and using my friend google to see if I could find the answer myself. Unfortunately, everything I have tried and found does not work. I am attempting to set up a Computer with two HVM's. To start, I attempted it with a single HVM. I am able to install, configure, start, and VNC into the VM. The issue is when I attempt PCI pass through. I have tried attaching the pcie switch as well as individual pci devices. I am trying to attach an Intel 82576 Gigabit Ethernet card to the HVM. I am unsure of what information you will need, but included is information I felt was useful. I have tried various PCI configs in the .cfg file. From the information that I can see, the pci devices do appear to be mapping to the pciback driver. Any help with this would be greatly appreciated! Regards, Mike Neiderhauser ########################################################## root@fiat:~# uname -a Linux fiat 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 16:19:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux # Ubuntu 12.04.3 LTS Server (installed ubuntu desktop) stock kernel xm dmesg (XEN) Xen version 4.1.5 (Ubuntu 4.1.5-0ubuntu0.12.04.2) ( stefan.bader@canonical.com) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) Tue Dec 17 16:35:34 UTC 2013 root@fiat:~# lspci 00:00.0 Host bridge: Intel Corporation Xeon E3-1200 Processor Family DRAM Controller (rev 09) 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09) 00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04) 00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4) 00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a4) 00:1f.0 ISA bridge: Intel Corporation C202 Chipset Family LPC Controller (rev 04) 00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 04) 00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04) 01:00.0 PCI bridge: Integrated Device Technology, Inc. PES12N3A PCI Express Switch (rev 0e) 02:02.0 PCI bridge: Integrated Device Technology, Inc. PES12N3A PCI Express Switch (rev 0e) 02:04.0 PCI bridge: Integrated Device Technology, Inc. PES12N3A PCI Express Switch (rev 0e) 03:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 03:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 04:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 04:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 05:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20) 05:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20) 06:03.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200eW WPCM450 (rev 0a) root@fiat:~# lspci -t -[0000:00]-+-00.0 +-01.0-[01-04]----00.0-[02-04]--+-02.0-[03]--+-00.0 | | \-00.1 | \-04.0-[04]--+-00.0 | \-00.1 +-1a.0 +-1c.0-[05]--+-00.0 | \-00.1 +-1d.0 +-1e.0-[06]----03.0 +-1f.0 +-1f.2 \-1f.3 The domU config file: ---------------------------------------------------------------------------------------- kernel = "/usr/lib/xen-4.1/boot/hvmloader" builder='hvm' memory = 1024 vcpus=2 name = "ubuntu-hvm-0" vif = ['bridge=xenbr0'] #intel card pci=['02:04.0'] #pci=['01:00.0', '02:02.0', '02:04.0', '03:00.0','03:00.1','04:00.0','04:00.1'] #pci=['00:01.0', '03:00.0','03:00.1','04:00.0','04:00.1'] #pci= ['03:00.0','03:00.1','04:00.0','04:00.1'] #broadcom card #pci=['00:1c.0', '05:00.0', '05:00.1'] #pci=['05:00.0', '05:00.1'] disk = ['phy:/dev/fiat-vg/ubuntu-hvm,hda,w'] #,'file:/root/ubuntu-12.04.3-server-amd64.iso,hdc:cdrom,r'] acpi = 1 #apic = 1 device_model = 'qemu-dm' boot="c" sdl=0 serial='pty' vnc=1 vnclisten="" vncpasswd="" on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' ---------------------------------------------------------------------------------------- The script I run at boot to unbind and rebind pci devices: ---------------------------------------------------------------------------------------- #! /bin/bash # array of PCI Devices used in Xen VMs #devices=(0000:00:01.0 0000:00:1c.0 0000:01:00.0 0000:02:02.0 0000:02:04.0 0000:03:00.0 0000:03:00.1 0000:04:00.0 0000:04:00.1 0000:05:00.0 0000:05:00.1) devices=(0000:02:04.0) # array of Xen VM config files # currently not used confvms=("/etc/xen/ubuntu-12.04.3-server-vm-1.cfg" "/etc/xen/ubuntu-12.04.3-server-vm-0.cfg") function pciback_dev { # REQUIRES # PCI Devices in format: <domain>:<bus>:<slot>.<function> if [ $# -ne 1 ]; then echo "This function allows a single parameter to be passed representing a PCI Device" echo "The PCI Device should be in format: <domain>:<bus>:<slot>.<function>" echo "EX: 0000:03:00.0" fi pcidev=$1 if [ -h /sys/bus/pci/devices/"$pcidev"/driver ]; then echo "Unbinding $pcidev from" $(basename $(readlink /sys/bus/pci/devices/"$pcidev"/driver)) echo -n "$pcidev" > /sys/bus/pci/devices/"$pcidev"/driver/unbind fi echo "Binding $pcidev to pciback" echo -n "$pcidev" > /sys/bus/pci/drivers/pciback/new_slot echo -n "$pcidev" > /sys/bus/pci/drivers/pciback/bind return 0 } function obtain_pci_devices { echo "Loading Kernel Module 'xen-pciback'" modprobe pciback modprobe xen-pciback echo "Calling function pciback_dev for: " for index in ${!devices[*]} do echo "PCI DEVICE ${devices[$index]}" pciback_dev ${devices[$index]} echo "" done echo "Listing PCI Devices Available to Xen" xm pci-list-assignable-devices } function start_all_xen_vms { echo "Starting Hypervised VM's" for index in ${!confvms[*]} do echo "Loading Config ${confvms[$index]}" xm create ${confvms[$index]} -c echo "" done } ########################################################################### #main ########################################################################### obtain_pci_devices ---------------------------------------------------------------------------------------- _______________________________________________ Xen-users mailing list Xen-users@lists.xen.org http://lists.xen.org/xen-users