summaryrefslogtreecommitdiff
path: root/target-sparc
diff options
context:
space:
mode:
authorIgor V. Kovalenko <igor.v.kovalenko@gmail.com>2009-10-05 01:49:27 +0400
committerBlue Swirl <blauwirbel@gmail.com>2009-10-13 16:48:33 +0000
commit3723cd09500956f7094bafc7dd1167f51a9b89fd (patch)
tree2f63141769201fa35c1af5e5ac066058994bf096 /target-sparc
parent1a4ea1e34d94acd82ee316a0427d9e82cf37b806 (diff)
downloadqemu-3723cd09500956f7094bafc7dd1167f51a9b89fd.tar.gz
sparc64: fix done instruction pc
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>
Diffstat (limited to 'target-sparc')
-rw-r--r--target-sparc/op_helper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c
index 8992d1c555..a1ada8bcd5 100644
--- a/target-sparc/op_helper.c
+++ b/target-sparc/op_helper.c
@@ -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;