Commit 51e11d9e6c8deea88ba2d24c8a04102c787cdd19
1 parent
90b37806
fixed eret insn (Ralf Baechle)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1474 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
5 additions
and
2 deletions
target-mips/op.c
@@ -597,10 +597,13 @@ void debug_eret (void); | @@ -597,10 +597,13 @@ void debug_eret (void); | ||
597 | void op_eret (void) | 597 | void op_eret (void) |
598 | { | 598 | { |
599 | CALL_FROM_TB0(debug_eret); | 599 | CALL_FROM_TB0(debug_eret); |
600 | - if (env->hflags & MIPS_HFLAG_ERL) | 600 | + if (env->hflags & MIPS_HFLAG_ERL) { |
601 | env->PC = env->CP0_ErrorEPC; | 601 | env->PC = env->CP0_ErrorEPC; |
602 | - else | 602 | + env->hflags &= ~MIPS_HFLAG_ERL; |
603 | + } else { | ||
603 | env->PC = env->CP0_EPC; | 604 | env->PC = env->CP0_EPC; |
605 | + env->hflags &= ~MIPS_HFLAG_EXL; | ||
606 | + } | ||
604 | env->CP0_LLAddr = 1; | 607 | env->CP0_LLAddr = 1; |
605 | } | 608 | } |
606 | 609 |