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

[Xen-users] Re: pci passthru not working after 4.0.1 > 4.1.0 upgrade


  • To: xen-users List <xen-users@xxxxxxxxxxxxxxxxxxx>
  • From: Andrew Lyon <andrew.lyon@xxxxxxxxx>
  • Date: Thu, 14 Apr 2011 11:48:46 +0100
  • Delivery-date: Thu, 14 Apr 2011 03:50:15 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=PUdn2BpDLNCt6gawyXuf3TzIqReVJWFQBNY15qLqYvHyWy6t373YGJFQostRo7Khyp tFE6qoo85IB2D+OpZoRH4epEEkHNl0dTyyzD6rtOZ6Nu9sfwGEuR30omyraPBRoGxtpS 36juhz1qCgIhaCLXrN5ZBwgOmfZInztsBydGw=
  • List-id: Xen user discussion <xen-users.lists.xensource.com>

On Thu, Apr 14, 2011 at 10:46 AM, Andrew Lyon <andrew.lyon@xxxxxxxxx> wrote:
> Hi,
>
> I've just upgraded to 4.1.0 from 4.0.1 and found that one of my hvm's
> failed to start due to pci passthru failure:
>
> xm create xen-win7.cfg
> Using config file "./xen-win7.cfg".
> Error: pci: PCI Backend and pci-stub don't own sibling device
> 0000:00:00.0 of device 0000:02:01.1
>
> Setting from guest config file:
>
> pci = [ '0000:02:01.0', '0000:02:01.1', '0000:02:01.2' ]
>
> 02:01.0 USB Controller: NEC Corporation USB (rev 43)
> 02:01.1 USB Controller: NEC Corporation USB (rev 43)
> 02:01.2 USB Controller: NEC Corporation USB 2.0 (rev 04)
>
> It worked before, and the device is listed as available to be assigned:
>
> xm pci-list-assignable-devices
> 0000:02:01.0
> 0000:02:01.1
> 0000:02:01.2
>
>  lspci -tv
> -[0000:00]-+-00.0  Intel Corporation 5400 Chipset Memory Controller Hub
>           +-01.0-[01-02]----00.0-[02]--+-01.0  NEC Corporation USB
>           |                            +-01.1  NEC Corporation USB
>           |                            \-01.2  NEC Corporation USB 2.0
>           +-05.0-[03]----00.0  nVidia Corporation G96 [Quadro FX 380]
>           +-09.0-[04-07]--+-00.0-[05-06]----00.0-[06]----00.0  Adaptec 
> AAC-RAID
>           |               \-00.3-[07]--+-02.0  LSI Logic / Symbios
> Logic 53c1010 Ultra3 SCSI Adapter
>           |                            \-02.1  LSI Logic / Symbios
> Logic 53c1010 Ultra3 SCSI Adapter
>           +-0f.0  Intel Corporation 5400 Chipset QuickData Technology Device
>           +-10.0  Intel Corporation 5400 Chipset FSB Registers
>           +-10.1  Intel Corporation 5400 Chipset FSB Registers
>           +-10.2  Intel Corporation 5400 Chipset FSB Registers
>           +-10.3  Intel Corporation 5400 Chipset FSB Registers
>           +-10.4  Intel Corporation 5400 Chipset FSB Registers
>           +-11.0  Intel Corporation 5400 Chipset CE/SF Registers
>           +-15.0  Intel Corporation 5400 Chipset FBD Registers
>           +-15.1  Intel Corporation 5400 Chipset FBD Registers
>           +-16.0  Intel Corporation 5400 Chipset FBD Registers
>           +-16.1  Intel Corporation 5400 Chipset FBD Registers
>           +-1b.0  Intel Corporation 631xESB/632xESB High Definition
> Audio Controller
>           +-1c.0-[08]--+-00.0  Intel Corporation 82575EB Gigabit
> Network Connection
>           |            \-00.1  Intel Corporation 82575EB Gigabit
> Network Connection
>           +-1d.0  Intel Corporation 631xESB/632xESB/3100 Chipset UHCI
> USB Controller #1
>           +-1d.1  Intel Corporation 631xESB/632xESB/3100 Chipset UHCI
> USB Controller #2
>           +-1d.2  Intel Corporation 631xESB/632xESB/3100 Chipset UHCI
> USB Controller #3
>           +-1d.3  Intel Corporation 631xESB/632xESB/3100 Chipset UHCI
> USB Controller #4
>           +-1d.7  Intel Corporation 631xESB/632xESB/3100 Chipset EHCI
> USB2 Controller
>           +-1e.0-[09]--+-04.0  VIA Technologies, Inc. VT82xxxxx UHCI
> USB 1.1 Controller
>           |            +-04.1  VIA Technologies, Inc. VT82xxxxx UHCI
> USB 1.1 Controller
>           |            +-04.2  VIA Technologies, Inc. USB 2.0
>           |            \-08.0  Texas Instruments TSB43AB22/A
> IEEE-1394a-2000 Controller (PHY/Link)
>           +-1f.0  Intel Corporation 631xESB/632xESB/3100 Chipset LPC
> Interface Controller
>           +-1f.1  Intel Corporation 631xESB/632xESB IDE Controller
>           +-1f.2  Intel Corporation 631xESB/632xESB/3100 Chipset SATA
> IDE Controller
>           \-1f.3  Intel Corporation 631xESB/632xESB/3100 Chipset
> SMBus Controller
>
> I am running kernel 2.6.38 xenified with suse patches, not pv_ops,
> using the pciback.hide syntax to hide the device from dom0 drivers.
>
> I did some testing and I can passthru 0000:02:01.0 but not the other
> two functions of the usb card.
>
> Andy
>

This clearly looks like the sibling device check is somehow ending up
at the root of the pci device tree which of course is not owned by
pciback etc, If I disable the check I can start the domain and the pci
usb card is available and seems to work ok.

pciif.py line 285:

#            if sdev.driver!='pciback' and sdev.driver!='pci-stub':
#                raise VmError(("pci: PCI Backend and pci-stub don't "+ \
#                   "own sibling device %s of device %s"\
#                    )%(sdev.name, dev.name))

Andy

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

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