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

Re: [Xen-devel] Possible bug with pass-through hot-plug?



On Thu, Oct 08, 2009 at 09:52:11AM +1100, Simon Horman wrote:
> On Wed, Oct 07, 2009 at 05:41:38PM +0200, Tom Rotenberg wrote:
> > Just tried it, with xen-unstable changeset: 20249, and it also doesn't work.
> > 
> > When i assigned the device regularly, it was assigned to the virtual
> > BDF: 00:04.0, and the detachment worked fine, but when i caused it to
> > be registered on the virtual BDF 00:1b.0 - the detachment didn't
> > work...
> > 
> > The change i made to the qemu code to make the device to be assigned
> > on 00:1b.0, is:
> > 
> > diff --git a/hw/pass-through.c b/hw/pass-through.c
> > index 8d80755..2b79812 100644
> > --- a/hw/pass-through.c
> > +++ b/hw/pass-through.c
> > @@ -974,6 +974,7 @@ int insert_to_pci_devfn(char *bdf_slt)
> >          return -1;
> >      }
> > 
> > +    devfn = PCI_DEVFN(0x1b,0);
> >      return __insert_to_pci_devfn(bus, dev, func, devfn, opt);
> > 
> >  }
> > 
> > 
> > Can u please check if it works on your system?
> 
> Sure, will do.

Hi Tom,

I'm not having any luck reproducing this problem.
Could you check which version of qemu-xen you have,
mine is commit "allow logdirty commands while paused (unbreaks
60dbe1+8f09f4)" (743edef44f1d0da792aeb38a33bf468a4596f730) of
http://xenbits.xensource.com/git-http/qemu-xen-unstable.git

I am curious to know what the value of bdf_slt and devfn
without your modification. Could you try the following?

diff --git a/hw/pass-through.c b/hw/pass-through.c
index a97368a..4a5c016 100644
--- a/hw/pass-through.c
+++ b/hw/pass-through.c
@@ -971,11 +971,15 @@ int insert_to_pci_devfn(char *bdf_slt)
     int seg, bus, dev, func, devfn;
     char *opt;
 
+    PT_LOG("bdf_slt=\"%s\"\n", bdf_slt);
+
     if ( !parse_bdf(&bdf_slt, &seg, &bus, &dev, &func, &opt, &devfn) )
     {
         return -1;
     }
 
+    PT_LOG("devfn=0x%02x -> slot=0x%02x, func=0x%x\n",
+           devfn, PCI_SLOT(devfn), PCI_FUNC(devfn));
     return __insert_to_pci_devfn(bus, dev, func, devfn, opt);
 
 }


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


 


Rackspace

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