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

Re: [Xen-devel] Re: PCI BAR register space written with garbage in HVM guest.


  • To: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
  • From: Dan Gora <dan.gora@xxxxxxxxx>
  • Date: Wed, 17 Mar 2010 00:31:41 -0300
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Tue, 16 Mar 2010 20:32:44 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; b=EJWgDUaxH/3pXSgT9RD8yORcLp7HQl7R/6HHmdP5M4D8asCxjFfAbfbApkQZ2fZzL5 uKDm1fWnctM7gVKEs8r37xBZ7FZzP5L0kjWzI/aj/Ndsxe2iXLS/mBIy0GcG9EuKE1Vt VpIVw4Fh/ALek4YPT/06zRveG/NimzVKKXfPY=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

On Tue, Mar 16, 2010 at 11:46 PM, Konrad Rzeszutek Wilk
<konrad.wilk@xxxxxxxxxx> wrote:
> There is a snippet of QEMU that has that (hw/pass-through.c),
> function pt_pci_write_config:
>
> .. snip ..
>      ret = pci_write_block(pci_dev, address, (uint8_t *)&val, len);
>
>        if (!ret)
>            PT_LOG("Error: pci_write_block failed. return value[%d].\n",
> ret);
>    }
>
>    if (pm_state != NULL && pm_state->flags & PT_FLAG_TRANSITING)
>        /* set QEMUTimer */
>        qemu_mod_timer(pm_state->pm_timer,
>            (qemu_get_clock(rt_clock) + pm_state->pm_delay));

I turned on all the debugging in there and I see messages, but none
when the bad writes occur, which made me think that they were not
coming from there...

>> <snip>
>>
>> 5904  21:35:48 [    7f05d53f987b] read(16, "o\0\0\0", 4) = 4
>> 5904  21:35:48 [    7f05d53f97fb] write(16, "o\0\0\0", 4) = 4
>> 5904  21:35:48 [    7f05d53f97fb] write(6,
>> "\377\377\377\377\377\377\0\26>2\325d\10\0E\0\2@\0\354\0\0@\21w\302\0\0\0\0\377\377"...,
>> 590) = 256
>
> I would turn on all of those debug options and see if anything is
> happening.

done.. nothing :(  At least not during the error.

> Actually I would instrument all of the 'pci_write_block' calls.

I'll try that tomorrow...

> Can you attach debug to it? Or maybe run 'objdump' on the qemu-dm and
> see if the address correspond to some code in it?

Yes I can debug it, but really the only thing that I have to hang my
hat on is write().  So I figure that it must be coming from pciutils
since it's messing with /sys/bus/pci, but I don't really know much
about pciutils so wasn't sure what to grep around for.

I'll try and trace the pci_write_block calls and put gdb on it
tomorrow and see if anything pops up.

thanks,
dan

_______________________________________________
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®.