sparc64: fix done instruction pc
authorIgor V. Kovalenko <igor.v.kovalenko@gmail.com>
Sun, 4 Oct 2009 21:49:27 +0000 (01:49 +0400)
committerBlue Swirl <blauwirbel@gmail.com>
Tue, 13 Oct 2009 16:48:33 +0000 (16:48 +0000)
Fix done instruction to resume with pc=tnpc, npc=tnpc+4

Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
target-sparc/op_helper.c

index 8992d1c..a1ada8b 100644 (file)
@@ -3318,7 +3318,7 @@ void helper_done(void)
 {
     trap_state* tsptr = cpu_tsptr(env);
 
-    env->pc = tsptr->tpc;
+    env->pc = tsptr->tnpc;
     env->npc = tsptr->tnpc + 4;
     PUT_CCR(env, tsptr->tstate >> 32);
     env->asi = (tsptr->tstate >> 24) & 0xff;