Andrew Lyon
2011-Apr-14 09:46 UTC
[Xen-users] pci passthru not working after 4.0.1 > 4.1.0 upgrade
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 _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Andrew Lyon
2011-Apr-14 10:48 UTC
[Xen-users] Re: pci passthru not working after 4.0.1 > 4.1.0 upgrade
On Thu, Apr 14, 2011 at 10:46 AM, Andrew Lyon <andrew.lyon@gmail.com> 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@lists.xensource.com http://lists.xensource.com/xen-users
Pasi Kärkkäinen
2011-Apr-15 10:14 UTC
Re: [Xen-users] Re: pci passthru not working after 4.0.1 > 4.1.0 upgrade
Hello, I added xen-devel to CC list.. more details in the end of Andrew''s mail below. -- Pasi On Thu, Apr 14, 2011 at 11:48:46AM +0100, Andrew Lyon wrote:> On Thu, Apr 14, 2011 at 10:46 AM, Andrew Lyon <andrew.lyon@gmail.com> 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@lists.xensource.com > http://lists.xensource.com/xen-users_______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users