This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-users] how to PCI-passthrough 1 card to a DomU when another @ Dom0

To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-users] how to PCI-passthrough 1 card to a DomU when another @ Dom0 uses the same driver?
From: "dev001" <pgngw+dev001+xen-users@xxxxxx>
Date: Tue, 01 Feb 2011 19:16:37 -0800
Delivery-date: Tue, 01 Feb 2011 19:18:01 -0800
Dkim-signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=messagingengine.com; h=message-id:from:to:mime-version:content-transfer-encoding:content-type:subject:reply-to:date; s=smtpout; bh=OrAhtsHqNvU+g1ea70ks9UXIV98=; b=B1AThZKWpMQjbHT2iLurAIKW5rEgBVUiEkdOv0XnG/wiMx0R3VGBzx1RHzGukutq+H7yQKuJUpJ/MyP0BbAoe3cFRcsdfa6tWEx5XjHAAFjQ3w8MvwuYsu2DVb+9s94SRp6XUH1XEelGviCzz4wLSsq4X6kBe0UN52uxdVz/Je8=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Reply-to: pgngw+dev001+xen-users@xxxxxx
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
my Dom0 host runs,

uname -a
        Linux test #1 SMP 2011-01-20 21:58:39 +0100
        x86_64 x86_64 x86_64 GNU/Linux
lsb_release -d
        Description:    openSUSE 11.3 (x86_64)
rpm -qa | grep -i Xen-4

i've got 3 NICs,

lspci | grep -i eth
        02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
        RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
        03:00.0 Ethernet controller: Marvell Technology Group Ltd.
        88E8053 PCI-E Gigabit Ethernet Controller (rev 20)
        04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
        RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)

where 04:00.0 is assigned as the internal-LAN/Bridge port, and 02:00.0 &
03:00.0 are PCIe cards that I intend to PCI-passthrough to a DomU guest.

so far, I've:

cat /boot/grub/menu.lst
    kernel /xen.gz ... iommu=verbose dom0_vcpus_pin=true sched=credit
    cpuidle=1 cpufreq=xen clocksource=acpi numa=on
    module /vmlinuz-xen ... elevator=cfq clocksource=xen mce=off
    nomodeset pciback.permissive
    module /initrd-xen

cat /etc/modprobe.d/99-local.conf
        options pciback hide=(0000:02:00.0)(0000:03:00.0)
        install sky2       /sbin/modprobe pciback ; /sbin/modprobe
        --first-time --ignore-install sky2
        install r8169      /sbin/modprobe pciback ; /sbin/modprobe
        --first-time --ignore-install r8169

cat /etc/init.d/boot.local
        modprobe pciback hide='(02:00.0)(03.00.0)'
        echo -n 0000:02:00.0 > sys/bus/pci/drivers/pciback/permissive
        echo -n 0000:03:00.0 > sys/bus/pci/drivers/pciback/permissive

@ Dom0 boot, i only see ONE card seized,

dmesg | egrep -i seiz
        [    2.081944] pciback 0000:03:00.0: seizing device

and, of course as a result, for a guest,

cat test.cfg
        extra = 'textmode=1 xencons=xvc0 elevator=noop iommu=soft'
        pci   = [ '02:00.0', '03:00.0']

xm create test.cfg
        Error: pci: PCI Backend and pci-stub don't own device

if i simply replace the 04:00.0 Realtek card with a non-r8619 driver
card, e.g.,

        04:00.0 Ethernet controller: Atheros Communications
        AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (rev b0)

and repeat the experiment, then both cards are CORRECTLY seized,

dmesg | egrep -i seiz
        [    3.027654] pciback 0000:02:00.0: seizing device
        [    3.321515] pciback 0000:03:00.0: seizing device

and I can subsequently launch the DomU, with both cards successfully
passed through.

i.e., using two cards with the same driver type FAILS to allow one of
the cards to be seized.

i suspect this has to do with the driver not being unloadable at the
time of device seizure, as it's in use.

if that's the case -- how do i configure this so that the _same_ driver
can be used for _both_ the Dom0 card instance, and then appropriately
seized for the PCI-passthru target'd 2nd card?

or, is this another issue & there's addition/other config necessary?

Xen-users mailing list