When -icount is used and a TB is recompiled due to an IO access
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 19 Dec 2008 12:49:13 +0000 (12:49 +0000)
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 19 Dec 2008 12:49:13 +0000 (12:49 +0000)
commit9a3ea654026c774364557eed172be30d735fe34f
treee5c5eb9d0f177aa0f7616d9a310e0f64e7b1522e
parentd4934d18f36dbd974e28c700a55e9393395a18c4
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>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6100 c046a42c-6fe2-441c-8c8c-71466251a162
cpu-exec.c