[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Broken Microblaze timer
From: |
Peter Crosthwaite |
Subject: |
[Qemu-devel] Broken Microblaze timer |
Date: |
Thu, 14 Jun 2012 12:29:31 +1000 |
Hi all,
For a while now I have had this hack in my tree:
Author: Peter A. G. Crosthwaite <address@hidden>
Date: Fri Mar 30 15:04:05 2012 +1000
async.c: disabled event notifications.
This is a nasty hack thats needed to prevent the xilinx timer from
deadlocking
Signed-off-by: Peter A. G. Crosthwaite <address@hidden>
diff --git a/async.c b/async.c
index 85cc641..6173a59 100644
--- a/async.c
+++ b/async.c
@@ -106,7 +106,7 @@ void qemu_bh_schedule(QEMUBH *bh)
bh->scheduled = 1;
bh->idle = 0;
/* stop the currently executing CPU to execute the BH ASAP */
- qemu_notify_event();
+ //qemu_notify_event();
}
Obviously this sucks as a patch, but without this hack, the system
freezes on boot. I managed to ascertain that its coming from the
ptimer used by the system timer (hw/xilinx_timer.c). The CPU is either
halted and never resumes, or the timer is flooding with halt requests
and the CPU never gets another look in.
The question is, is this a failure in ptimer, xilinx_timer or the
async framework? Can ptimer be misused such that the CPU is locked up?
I wish to push my linux image as test image for microblaze little
endian, but this issue acts as a blocker. I could play with kernel
configs to get it to behave like the s3adsp image of Edgars, but id
rather fix the issue in QEMU. I will upload my images to qemu.org when
I sort out accnts etc.
Regards,
Peter
- [Qemu-devel] Broken Microblaze timer,
Peter Crosthwaite <=