[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] Debian Xen pciback missing?




Hello again, and many thanks.  I bring a status update!

I was able to compile the Linux Kernel 3.2.9 with pciback built-in instead of as a module.  I also installed Xen Hypervisor 4.1 via aptitude and was able to adjust settings in grub.cfg after.

Xen boots, and the grub line appears to work:
xen-pciback.hide=(01:00.0)(02:00.0)(03:00.0)(03:00.1)

Now when I run xm pci-list-assignable-devices, I get:
0000:03:00.0
0000:03:00.1
0000:01:00.0
0000:02:00.0
0000:02:02.0
0000:02:03.0

My objective is to achieve USB & VGA passthrough, but my graphics card appears to be sitting behind numerous devices.

My DomU Configuration:

name="windows7"
maxmem=6912
memory=6912
#maxvcpus=6
vcpus=4
>
>
>
localtime=0
builder="hvm"
device_model="/usr/lib/xen-4.1/bin/qemu-dm"
kernel="/usr/lib/xen-4.1/boot/hvmloader"
boot="dc"
disk=[
    'phy:/dev/guests/win7,hda,w',
    'file:/home/xen/win7.iso,hdc:cdrom,r'
  ]
vif=[ 'bridge=xenbr0, model=e1000' ]
stdvga=1
sdl=0
vnc=1
vncunused=1
viridian=1
pae=1
usbdevice='tablet'


I can run xm create -c windows7 without any problems.

When I add this to the configuration:

pci=[
    '03:00.0',
    '03:00.1'
  ]

I get this error:
Error: pci: to avoid potential security issue, 0000:03:00.0 is not allowed to be assigned to guest since it is behind PCIe switch that does not support or enable ACS.

So I tried this:

pci=[
    '01:00.0'
    '03:00.0',
    '03:00.1'
  ]

However, I then receive this error:
Error: pci: PCI Backend and pci-stub don't own device 0000:01:00.0

Even though it's listed as an assignable device, so I don't know if I misread what the card is sitting behind, or if there is some override I need to add to my configuration.

I can pass other devices, such as my USB and onboard Audio without any problems, for example:

pci=[
    '00:1a.0'
  ]

If I try to attach the device after starting the DomU I get:

xm pci-attach 3 0000:01:00.0
Error: pci: PCI Backend and pci-stub don't own device 0000:01:00.0
Usage: xm pci-attach [-o|--options=<opt>] <Domain> <domain:bus:slot.func> [virtual slot]

Insert a new pass-through pci device.


So, I have two questions.

#1:  Is there a way to override the first error, if it's a "potential security" risk, surely there must be an option to ignore it?

#2:  Any ideas as to why the 01:00.0 devices is listed as assignable yet not available?  Do I need to pass a step further up?


lspci -tv output:

-[0000:00]-+-00.0  Intel Corporation 2nd Generation Core Processor Family DRAM Controller
           +-01.0-[01-05]----00.0-[02-05]--+-00.0-[03]--+-00.0  nVidia Corporation GF104 [GeForce GTX 460]
           |                               |            \-00.1  nVidia Corporation GF104 High Definition Audio Controller
           |                               +-02.0-[04]--
           |                               \-03.0-[05]--
           +-02.0  Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller
           +-16.0  Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1
           +-1a.0  Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2
           +-1b.0  Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller
           +-1c.0-[06]--
           +-1c.5-[07]----00.0  ASMedia Technology Inc. ASM1062 Serial ATA Controller
           +-1c.6-[08]----00.0  ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
           +-1c.7-[09-12]----00.0-[0a-12]--+-01.0-[0b]----00.0  Broadcom Corporation NetLink BCM57781 Gigabit Ethernet PCIe
           |                               +-04.0-[0c]----00.0  ASMedia Technology Inc. ASM1062 Serial ATA Controller
           |                               +-05.0-[0d]----00.0  Broadcom Corporation NetLink BCM57781 Gigabit Ethernet PCIe
           |                               +-06.0-[0e]----00.0  VIA Technologies, Inc. VT6315 Series Firewire Controller
           |                               +-07.0-[0f-10]----00.0-[10]--
           |                               +-08.0-[11]----00.0  ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
           |                               \-09.0-[12]----00.0  ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
           +-1d.0  Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1
           +-1f.0  Intel Corporation Z68 Express Chipset Family LPC Controller
           +-1f.2  Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller
           \-1f.3  Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller

lspci:

00:00.0 Host bridge: Intel Corporation 2nd Generation Core 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:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b5)
00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b5)
00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation Z68 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 PCI bridge: nVidia Corporation NF200 PCIe 2.0 switch for mainboards (rev a3)
02:00.0 PCI bridge: nVidia Corporation NF200 PCIe 2.0 switch for mainboards (rev a3)
02:02.0 PCI bridge: nVidia Corporation NF200 PCIe 2.0 switch for mainboards (rev a3)
02:03.0 PCI bridge: nVidia Corporation NF200 PCIe 2.0 switch for mainboards (rev a3)
03:00.0 VGA compatible controller: nVidia Corporation GF104 [GeForce GTX 460] (rev a1)
03:00.1 Audio device: nVidia Corporation GF104 High Definition Audio Controller (rev a1)
07:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)
08:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
09:00.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0a:01.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0a:04.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0a:05.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0a:06.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0a:07.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0a:08.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0a:09.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0b:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57781 Gigabit Ethernet PCIe (rev 10)
0c:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)
0d:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57781 Gigabit Ethernet PCIe (rev 10)
0e:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6315 Series Firewire Controller (rev 01)
0f:00.0 PCI bridge: ASMedia Technology Inc. ASM108x PCIe to PCI Bridge Controller (rev 01)
11:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
12:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller

On Tue, Mar 6, 2012 at 1:29 PM, Casey DeLorme <cdelorme@xxxxxxxxx> wrote:
Hello Tobias, and thanks for the suggestions!

I had been told that Debian Squeeze came with pciback "out of the box", but clearly that was a misnomer (given the "m" in my kernel config), and as mentioned in my initial email I tried adding lines to grub with no results.

Using the find command I was able to find three records with pci:
/lib/modules/3.2.0-1-amd64/kernel/drivers/pci/xen-pcifront.ko
/lib/modules/3.2.0-1-amd64/kernel/drivers/xen/xen-pciback
/lib/modules/3.2.0-1-amd64/kernel/drivers/xen/xen-pciback/xen-pciback.ko

Also, I can type just "modprobe xen-pciback" without any errors.  However, when I attempt to send a command to it, it fails:
sudo modprobe xen-pciback 'hide=(03:00.0)'
ERROR: could not insert 'xen_pciback': No such file or directory

I am new enough to Xen that this really doesn't give me enough to go on.  It's trying to insert... someplace, and it's using xen_pciback (not xen-pciback?)


Your other suggestion is much more appealing, but I want to ask a few questions before I give that a spin.

Question #1:
I would be compiling the whole kernel, correct?  I just want to make sure I'm not missing some faster or easier method that would append functionality to an existing kernel.

Question #2:
With a custom Kernel will I be able to use the package manager to install Xen, or will I have to compile Xen from source to have it recognize my custom Linux Kernel?

Question #3:
If I wanted to compile Xen from source, or the package manager is not an option, how can I compile the latest Xen source with my custom kernel?

I found instructions for 4.1.1 in a pdf, but they didn't work verbatim with 4.1.2, and I ended up with 4x .gz files in my boot directory, and half a dozen new grub records, none of which booted.

Compiled from source would be ideal as I could try fixing the efi-boot memory issues, but without some kind of guide for 4.1.2 I would be lost at accomplishing this.

~Casey

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.