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
|