0bo0
2010-Jan-29 22:10 UTC
[Xen-devel] with Xen4 config -> (pci-passthrough-strict-check no), DomU init reports "Error: pci: PCI Backend and pci-stub don''t own device"
testing, uname -ri 2.6.33-rc5-4-xen x86_64 rpm -qa | grep -i Xen-4 xen-4.0.0_20873_01-29.1.x86_64 cat test.cfg name = ''test'' builder = ''linux'' bootloader = ''/usr/lib/xen/boot/domUloader.py'' bootargs = ''--entry=xvda1:vmlinuz-xen,/boot/initrd-xen'' disk = [ ''phy:/dev/VG0/boot,xvda,w'',''phy:/dev/VG0/swap,xvdb,w'',''phy:/dev/VG0/root,xvdc,w'',] root = ''/dev/xvdc1'' vfb = [''''] xm create -c ./test.cfg boots OK. but if (re)enabling pci passthrough, vi test.cfg ... + pci = [ ''04:07.0'' ] ... dmesg | grep "Command line" [ 0.000000] Command line: ... guestdev=0000:04:07.0,0000:04:06.0 reassign_resources iommu=1 noirqdebug clocksource=xen mce=off for a PCI card behind a shared bridge, lspci -vt | grep "\[04\]" -A1 +-14.4-[04]--+-06.0 Intel Corporation 82541PI Gigabit Ethernet Controller | \-07.0 Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller with, grep passthrough /etc/xen/xend-config.sxp (pci-passthrough-strict-check no) grep hide /etc/modprobe.d/99-local.conf options pciback hide=(0000:04:07.0)(0000:04:06.0) and checking, lsmod | egrep -i "pciback|xen" pciback 54471 0 xenbus_be 3474 4 netbk,blkbk,blktap,pciback xenblk 26117 0 cdrom 42939 2 sr_mod,xenblk xennet 37545 0 @ DomU init. xm create -c ./test.cfg returns, Using config file "./test.cfg". Error: pci: PCI Backend and pci-stub don''t own device 0000:04:07.0 that error looks to hail from recent changes to ''XendDomainInfo.py'', cref: http://article.gmane.org/gmane.comp.emulators.xen.devel/76231 with strict-check disabled in /xend-config.sxp, shouldn''t this be ok to do/use? _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
0bo0
2010-Jan-29 22:36 UTC
[Xen-devel] Re: with Xen4 config -> (pci-passthrough-strict-check no), DomU init reports "Error: pci: PCI Backend and pci-stub don''t own device"
checking @ source, ... # Test whether the device is owned by pciback or pci-stub. try: pci_device = PciDevice(new_dev) except Exception, e: raise VmError("pci: failed to locate device and "+ "parse its resources - "+str(e)) if pci_device.driver!=''pciback'' and pci_device.driver!=''pci-stub'': raise VmError(("pci: PCI Backend and pci-stub don''t own device %s")\ %pci_device.name) ... verifying the device is being seized @ startup; looks not to be :-/ ... dmesg | egrep "4:06|4:07|pciback" ... [ 0.216794] PCI: 0000:04:07.0 has been reserved for guest domain. [ 0.216794] PCI: 0000:04:06.0 has been reserved for guest domain. [ 0.260161] pci 0000:04:06.0: reg 10: [mem 0xfbfe0000-0xfbffffff] [ 0.260171] pci 0000:04:06.0: reg 14: [mem 0xfbfc0000-0xfbfdffff] [ 0.260180] pci 0000:04:06.0: reg 18: [io 0xec00-0xec3f] [ 0.260214] pci 0000:04:06.0: reg 30: [mem 0xfbfa0000-0xfbfbffff pref] [ 0.260221] pci 0000:04:06.0: Disabling memory decoding and releasing memory resources. [ 0.260262] pci 0000:04:06.0: PME# supported from D0 D3hot D3cold [ 0.260268] pci 0000:04:06.0: PME# disabled [ 0.260340] pci 0000:04:07.0: reg 10: [mem 0xfbf9fc00-0xfbf9fc7f 64bit] [ 0.260357] pci 0000:04:07.0: reg 18: [mem 0xfbf90000-0xfbf97fff 64bit] [ 0.260367] pci 0000:04:07.0: reg 20: [io 0xe880-0xe88f] [ 0.260385] pci 0000:04:07.0: reg 30: [mem 0xfbf00000-0xfbf7ffff pref] [ 0.260391] pci 0000:04:07.0: Disabling memory decoding and releasing memory resources. [ 0.260434] pci 0000:04:07.0: supports D1 D2 [ 0.273957] pci 0000:04:07.0: BAR 6: assigned [mem 0xf0100000-0xf017ffff pref] [ 0.273961] pci 0000:04:06.0: BAR 0: assigned [mem 0xfbf00000-0xfbf1ffff] [ 0.273972] pci 0000:04:06.0: BAR 0: set to [mem 0xfbf00000-0xfbf1ffff] (PCI address [0xfbf00000-0xfbf1ffff] [ 0.273977] pci 0000:04:06.0: BAR 1: assigned [mem 0xfbf20000-0xfbf3ffff] [ 0.273985] pci 0000:04:06.0: BAR 1: set to [mem 0xfbf20000-0xfbf3ffff] (PCI address [0xfbf20000-0xfbf3ffff] [ 0.273991] pci 0000:04:06.0: BAR 6: assigned [mem 0xf0180000-0xf019ffff pref] [ 0.273995] pci 0000:04:07.0: BAR 2: assigned [mem 0xfbf40000-0xfbf47fff 64bit] [ 0.274008] pci 0000:04:07.0: BAR 2: set to [mem 0xfbf40000-0xfbf47fff 64bit] (PCI address [0xfbf40000-0xfbf47fff] [ 0.274013] pci 0000:04:07.0: BAR 0: assigned [mem 0xfbf48000-0xfbf4807f 64bit] [ 0.274026] pci 0000:04:07.0: BAR 0: set to [mem 0xfbf48000-0xfbf4807f 64bit] (PCI address [0xfbf48000-0xfbf4807f] [ 5.562894] sata_sil24 0000:04:07.0: version 1.1 [ 5.562913] sata_sil24 0000:04:07.0: enabling device (019d -> 019f) [ 5.562933] sata_sil24 0000:04:07.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21 [ 29.932444] pciback 0000:04:06.0: seizing device [ 29.932501] pciback 0000:04:06.0: enabling device (0115 -> 0117) [ 29.932521] pciback 0000:04:06.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20 [ 29.932528] pciback 0000:04:06.0: PCI INT A disabled dropping back to uname -ri 2.6.31.12-2-xen x86_64 the dmesg output and the DomU init results are the same ... no-go. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Konrad Rzeszutek Wilk
2010-Jan-29 22:44 UTC
Re: [Xen-devel] with Xen4 config -> (pci-passthrough-strict-check no), DomU init reports "Error: pci: PCI Backend and pci-stub don''t own device"
> grep passthrough /etc/xen/xend-config.sxp > (pci-passthrough-strict-check no) > grep hide /etc/modprobe.d/99-local.conf > options pciback hide=(0000:04:07.0)(0000:04:06.0)That won''t work. That option is only useful if pciback is compiled in the kernel. To be exact, you would need this in your bootline argument: xen-pciback.hide=(04:07.0)(04:06.0) pci=resource_alignment=04:07.0> > and checking, > > lsmod | egrep -i "pciback|xen" > pciback 54471 0 > xenbus_be 3474 4 netbk,blkbk,blktap,pcibackSince it is module you need to follow the documentation about how to seize and bind using pciback. Google is your friend. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
0bo0
2010-Jan-29 23:11 UTC
Re: [Xen-devel] with Xen4 config -> (pci-passthrough-strict-check no), DomU init reports "Error: pci: PCI Backend and pci-stub don''t own device"
I bleieve you have it backwards, no? On Fri, Jan 29, 2010 at 2:44 PM, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:>> grep passthrough /etc/xen/xend-config.sxp >> (pci-passthrough-strict-check no) >> grep hide /etc/modprobe.d/99-local.conf >> options pciback hide=(0000:04:07.0)(0000:04:06.0) > > That won''t work. That option is only useful if pciback is compiled > in the kernel. To be exact, you would need this in your bootline > argument: > xen-pciback.hide=(04:07.0)(04:06.0) pci=resource_alignment=04:07.0 > > >> >> and checking, >> >> lsmod | egrep -i "pciback|xen" >> pciback 54471 0 >> xenbus_be 3474 4 netbk,blkbk,blktap,pciback > > Since it is module you need to follow the documentation about how to > seize and bind using pciback. Google is your friend. >reading @ http://wiki.xensource.com/xenwiki/Assign_hardware_to_DomU_with_PCIBack_as_module "If the Dom0 XenLinux kernel is built with pciback as a module, attempting to use the kernel command-line parameter pciback.hide won''t work. '' ... "If the Dom0 XenLinux kernel is built with pciback as a module, attempting to use the kernel command-line parameter pciback.hide won''t work. This includes loading pciback in an initrd. This means that if you wish to assign hardware to a DomU another method is needed. There are two possibilities. ..." since Dom0 is, apparently, "built with pciback as a module", the wiki specifically instructs: Add a line to /etc/modprobe.conf to pass the hide parameter to pciback options pciback hide=(0000:05:02.0) You''ll also note, from the dmesg output i''d included above, that there''s no problem seizing the *1st* card, configured in the same manner. and, all of this worked just fine before the most recent Xen4 update (this morning ...) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
0bo0
2010-Feb-01 16:57 UTC
Re: [Xen-devel] with Xen4 config -> (pci-passthrough-strict-check no), DomU init reports "Error: pci: PCI Backend and pci-stub don''t own device"
On Fri, Jan 29, 2010 at 3:11 PM, 0bo0 <0.bugs.only.0@gmail.com> wrote:> http://wiki.xensource.com/xenwiki/Assign_hardware_to_DomU_with_PCIBack_as_module > > "If the Dom0 XenLinux kernel is built with pciback as a module, > attempting to use the kernel command-line parameter pciback.hide won''t > work. ''Can someone please clarify whether the instructions at wiki remain valid? Thanks. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
0bo0
2010-Feb-01 18:28 UTC
Re: [Xen-devel] with Xen4 config -> (pci-passthrough-strict-check no), DomU init reports "Error: pci: PCI Backend and pci-stub don''t own device"
for anyone interested, upgrading openSUSE 11.2''s kernel from 2.6.33-rc5-4-xen x86_64 -> 2.6.33-rc5-5-xen x86_64 fixed the problem reported here. @ DomU, now, boots fine and the shared-bus PCI card is properly passedthrough. dropping back to verify, and the problem returns. the instructions @ wiki remain correct, and -- for kernel with pciback compiled as module -- the command line options suggested ( xen-pciback.hide=(04:07.0)(04:06.0) pci=resource_alignment) do NOT work. rather the /etc/modprobe* config additions, along with the usual (guestdev=0000:04:07.0,0000:04:06.0 reassign_resources) works as it always has, consistente with the documentation. hth. thanks. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Pasi Kärkkäinen
2010-Feb-01 18:58 UTC
Re: [Xen-devel] with Xen4 config -> (pci-passthrough-strict-check no), DomU init reports "Error: pci: PCI Backend and pci-stub don''t own device"
On Mon, Feb 01, 2010 at 10:28:27AM -0800, 0bo0 wrote:> for anyone interested, > > upgrading openSUSE 11.2''s kernel from 2.6.33-rc5-4-xen x86_64 -> > 2.6.33-rc5-5-xen x86_64 fixed the problem reported here. @ DomU, now, > boots fine and the shared-bus PCI card is properly passedthrough. > dropping back to verify, and the problem returns. >Are these opensuse 2.6.33 kernels using the forward ported xenlinux patches, or are they pvops kernels? -- Pasi> the instructions @ wiki remain correct, and -- for kernel with pciback > compiled as module -- the command line options suggested ( > xen-pciback.hide=(04:07.0)(04:06.0) pci=resource_alignment) do NOT > work. rather the /etc/modprobe* config additions, along with the > usual (guestdev=0000:04:07.0,0000:04:06.0 reassign_resources) works as > it always has, consistente with the documentation. > > hth. > > thanks. > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
0bo0
2010-Feb-01 19:21 UTC
Re: [Xen-devel] with Xen4 config -> (pci-passthrough-strict-check no), DomU init reports "Error: pci: PCI Backend and pci-stub don''t own device"
On Mon, Feb 1, 2010 at 10:58 AM, Pasi Kärkkäinen <pasik@iki.fi> wrote:> Are these opensuse 2.6.33 kernels using the forward ported xenlinux patches, > or are they pvops kernels?I''m assuming they''re what opensuse has always done -- so far, anyway -- which are the forwarded ported kernels. I''ve not gone looking elsewhere -- rather using distro-kernels with distro-Xen. i''m not entirely sure how one''d verify not-pvops... fyi, the kernels I''m using for these tests are here: http://download.opensuse.org/repositories/Kernel:/HEAD/openSUSE_11.2/x86_64/ _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel