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


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

To: pgngw+dev001+xen-users@xxxxxx
Subject: Re: [Xen-users] how to PCI-passthrough 1 card to a DomU when another @ Dom0 uses the same driver?
From: Anish Patel <anish.mailing.list@xxxxxxxxx>
Date: Wed, 02 Feb 2011 00:02:50 -0500
Cc: xen-users@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 01 Feb 2011 21:04:41 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=QF2TMsbkzF0OpNzlrF/sZ4OLI9KQ22WpWzkO8rCRp30=; b=NQbSZe1zc74XjWbgD0rXe4Tqxv0x2QBHqjE8bBGD8qm29nQBTvStwGegR8BgUtw5bW MTd/N8a232JbYmhDlF80j5RPjYJn1VCWBowHfe+fvABoOHZF74Namby8GS5wB/2h6vl1 J3pJXFMr3lDSrpWSIBtEJtS57aJIBdtfNQpTY=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=UyZIN52XM+ebVgpiw93EtdsMAHvrMYed0I/AEaPHE9D2Va4Fe3AESHYvOv/B3B8BCZ au2rpzSIFUn32fRVnAS9nQycgBSUpKHQybym0HWGvJxjqyfAmwWckAAFQG/8nsMLwCeD MtoV8893LJs4/G31YezYGoyjcBbpVuVmSgqIY=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1296616597.12461.1418484885@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
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>
References: <1296616597.12461.1418484885@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20110130 Lightning/1.0b3pre Thunderbird/3.1.7
i think you need to unbind the device from the driver then bind it to the pciback driver
see http://wiki.xensource.com/xenwiki/VTdHowTo


On 02/01/11 22:16, dev001 wrote:
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

Xen-users mailing list