Hi,
I'm really sorry, but I don't understand what's happening - I copied the
qemu executable on my target system before executing it, but gdb complains
that the core file does not match the executable! But except the file paths
they are identical.
warning: core file may not match specified executable file.
Core was generated by `/disc/qemu-system-x86_64 -machine kernel_irqchip=on
-serial /dev/ttyS2 -usb -de'.
Program terminated with signal 6, Aborted.
#0 0xffffe424 in __kernel_vsyscall ()
Strange. The backtrace is bogus too.
I don't know how to proceed here.
Lets try plan b: add a printf right before the assert:
--- a/hw/usb.c
+++ b/hw/usb.c
@@ -356,6 +356,7 @@ void usb_packet_complete(USBDevice *dev, USBPacket *p)
while (!QTAILQ_EMPTY(&ep->queue)) {
p = QTAILQ_FIRST(&ep->queue);
+ fprintf(stderr, "%s: packet %p\n", __func__, p);
assert(p->state == USB_PACKET_QUEUED);
ret = usb_process_one(p);
if (ret == USB_RET_ASYNC) {
Don't you run into this problem (crash on USB plug in) on your system?
I tested it with a Linux guest, there it does not crash! Only with a
Windows XP guest!
I test with Linux most of the time, but even with windows xp guest it
doesn't reproduce here.
cheers,
Gerd