Commit caf8fe8c32596480b2e2809f29061f4a386de7ae
1 parent
3a95e3a7
Clear SR_M on a hardware interrupt.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2922 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
1 additions
and
0 deletions
target-m68k/op_helper.c
@@ -148,6 +148,7 @@ void do_interrupt(int is_hw) | @@ -148,6 +148,7 @@ void do_interrupt(int is_hw) | ||
148 | env->sr |= SR_S; | 148 | env->sr |= SR_S; |
149 | if (is_hw) { | 149 | if (is_hw) { |
150 | env->sr = (env->sr & ~SR_I) | (env->pending_level << SR_I_SHIFT); | 150 | env->sr = (env->sr & ~SR_I) | (env->pending_level << SR_I_SHIFT); |
151 | + env->sr &= ~SR_M; | ||
151 | } | 152 | } |
152 | /* Jump to vector. */ | 153 | /* Jump to vector. */ |
153 | env->pc = ldl_kernel(env->vbr + vector); | 154 | env->pc = ldl_kernel(env->vbr + vector); |