提交 a75cf0c5 编写于 作者: E Edgar E. Iglesias

microblaze: Clear exception in dslot ESR bit if not in dslot.

Signed-off-by: NEdgar E. Iglesias <edgar.iglesias@gmail.com>
上级 21d20636
...@@ -129,6 +129,7 @@ void do_interrupt(CPUState *env) ...@@ -129,6 +129,7 @@ void do_interrupt(CPUState *env)
case EXCP_MMU: case EXCP_MMU:
env->regs[17] = env->sregs[SR_PC]; env->regs[17] = env->sregs[SR_PC];
env->sregs[SR_ESR] &= ~(1 << 12);
/* Exception breaks branch + dslot sequence? */ /* Exception breaks branch + dslot sequence? */
if (env->iflags & D_FLAG) { if (env->iflags & D_FLAG) {
D(qemu_log("D_FLAG set at exception bimm=%d\n", env->bimm)); D(qemu_log("D_FLAG set at exception bimm=%d\n", env->bimm));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册