Hi all, For a while now I have had this hack in my tree:
Author: Peter A. G. Crosthwaite <peter.crosthwa...@petalogix.com> 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 <peter.crosthwa...@petalogix.com> 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