]> git.proxmox.com Git - qemu.git/commitdiff
fixed eret insn (Ralf Baechle)
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 2 Jul 2005 15:23:21 +0000 (15:23 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 2 Jul 2005 15:23:21 +0000 (15:23 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1474 c046a42c-6fe2-441c-8c8c-71466251a162

target-mips/op.c

index 6d94be631181811b093775e0d9f32db73ff0d276..df76e8e71e309fc9091c7199f71c0d1b39aa774e 100644 (file)
@@ -597,10 +597,13 @@ void debug_eret (void);
 void op_eret (void)
 {
     CALL_FROM_TB0(debug_eret);
-    if (env->hflags & MIPS_HFLAG_ERL)
+    if (env->hflags & MIPS_HFLAG_ERL) {
         env->PC = env->CP0_ErrorEPC;
-    else
+        env->hflags &= ~MIPS_HFLAG_ERL;
+    } else {
         env->PC = env->CP0_EPC;
+        env->hflags &= ~MIPS_HFLAG_EXL;
+    }
     env->CP0_LLAddr = 1;
 }