The qemu xen i tested today, (which aslo doesn't work), is:
--------------------------------------------------------------
commit a05958b6e32f1748ea70b1efca13394956c0698b
Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Date: Wed Oct 7 15:57:18 2009 +0100
block: Clean up after deleting BHs
--------------------------------------------------------------
Here are the log results you wanted (without my change):
dm-command: hot insert pass-through pci dev
insert_to_pci_devfn: bdf_slt="0000:00:1b.0@100"
insert_to_pci_devfn: devfn=0x100 -> slot=0x00, func=0x0
register_real_device: Assigning real physical device 00:1b.0 ...
Try to reproduce it, with the change i offered, and i'm almost sure,
you will see it happens.
Tom
On Thu, Oct 8, 2009 at 1:41 AM, Simon Horman <horms@xxxxxxxxxxxx> wrote:
> 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
|