diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-06-30 23:18:22 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-06-30 23:18:22 +0000 |
commit | 907a5b26903d593d53abbe6b52a7c72453625e71 (patch) | |
tree | 9e25c49157bcd4f09a5b29a37bd16e20d962b9c9 | |
parent | 0849bf0821fc174621d6b91a3c0a5709639ddab4 (diff) |
fixed invalid irq jump chaining
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@300 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | cpu-exec.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cpu-exec.c b/cpu-exec.c index 4da3641e6f..ddbeb2ce90 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -194,6 +194,13 @@ int cpu_exec(CPUState *env1) } do_interrupt(intno, 0, 0, 0); env->interrupt_request &= ~CPU_INTERRUPT_HARD; + /* ensure that no TB jump will be modified as + the program flow was changed */ +#ifdef __sparc__ + tmp_T0 = 0; +#else + T0 = 0; +#endif } #endif if (interrupt_request & CPU_INTERRUPT_EXIT) { |