diff options
author | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2009-09-03 10:15:17 +0200 |
---|---|---|
committer | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2009-09-03 10:15:17 +0200 |
commit | a75cf0c52d353d90594007b69f27fcba1d5f1022 (patch) | |
tree | 1bc7d294eb6e4edc190399b121f64d2dcbea935d /target-microblaze | |
parent | 21d20636057742d7a2ce9bde0f95a18127c4c92e (diff) |
microblaze: Clear exception in dslot ESR bit if not in dslot.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'target-microblaze')
-rw-r--r-- | target-microblaze/helper.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/target-microblaze/helper.c b/target-microblaze/helper.c index 15a82392f1..7fbb5ddbf3 100644 --- a/target-microblaze/helper.c +++ b/target-microblaze/helper.c @@ -129,6 +129,7 @@ void do_interrupt(CPUState *env) case EXCP_MMU: env->regs[17] = env->sregs[SR_PC]; + env->sregs[SR_ESR] &= ~(1 << 12); /* Exception breaks branch + dslot sequence? */ if (env->iflags & D_FLAG) { D(qemu_log("D_FLAG set at exception bimm=%d\n", env->bimm)); |