qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]