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
|