* [Qemu-devel] [6100] When -icount is used and a TB is recompiled due to an IO access
@ 2008-12-19 12:49 Paul Brook
0 siblings, 0 replies; only message in thread
From: Paul Brook @ 2008-12-19 12:49 UTC (permalink / raw)
To: qemu-devel
Revision: 6100
http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6100
Author: pbrook
Date: 2008-12-19 12:49:13 +0000 (Fri, 19 Dec 2008)
Log Message:
-----------
When -icount is used and a TB is recompiled due to an IO access
shortly after an IRQ has been raised, env->exception_index will still be set
to EXCP_IRQ when cpu_io_recompile calls cpu_resume_from_signal.
This causes qemu to repeat the IRQ trap, with disasterous consequences.
I suspect this "works" most of the time because linux tends to drop back to
svc mode before doing actual IRQ processing, and be fairly
tolerant of spurious IRQ traps.
Signed-off-by: Paul Brook <paul@codesourcery.com>
Modified Paths:
--------------
trunk/cpu-exec.c
Modified: trunk/cpu-exec.c
===================================================================
--- trunk/cpu-exec.c 2008-12-19 12:39:00 UTC (rev 6099)
+++ trunk/cpu-exec.c 2008-12-19 12:49:13 UTC (rev 6100)
@@ -86,6 +86,7 @@
#endif
}
#endif
+ env->exception_index = -1;
longjmp(env->jmp_env, 1);
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-12-19 12:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-19 12:49 [Qemu-devel] [6100] When -icount is used and a TB is recompiled due to an IO access Paul Brook
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).