Clear SR_M on a hardware interrupt.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2922 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
3a95e3a7d9
commit
caf8fe8c32
@ -148,6 +148,7 @@ void do_interrupt(int is_hw)
|
|||||||
env->sr |= SR_S;
|
env->sr |= SR_S;
|
||||||
if (is_hw) {
|
if (is_hw) {
|
||||||
env->sr = (env->sr & ~SR_I) | (env->pending_level << SR_I_SHIFT);
|
env->sr = (env->sr & ~SR_I) | (env->pending_level << SR_I_SHIFT);
|
||||||
|
env->sr &= ~SR_M;
|
||||||
}
|
}
|
||||||
/* Jump to vector. */
|
/* Jump to vector. */
|
||||||
env->pc = ldl_kernel(env->vbr + vector);
|
env->pc = ldl_kernel(env->vbr + vector);
|
||||||
|
Loading…
Reference in New Issue
Block a user