aboutsummaryrefslogtreecommitdiff
path: root/target-arm/translate.c
diff options
context:
space:
mode:
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2008-04-16 23:17:02 +0000
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2008-04-16 23:17:02 +0000
commit422ebf6979001c2874151509260c73c2bcede5da (patch)
tree6c3fbf7eecfa1989c906f63f11150a74cfd869a4 /target-arm/translate.c
parentaec454d23a5f0271e1c4f490dabe2a18fbe98f36 (diff)
Save the exact SWI return address in Thumb mode.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4217 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-arm/translate.c')
-rw-r--r--target-arm/translate.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target-arm/translate.c b/target-arm/translate.c
index 4678586601..5751e2f4eb 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -8492,7 +8492,7 @@ static void disas_thumb_insn(CPUState *env, DisasContext *s)
if (cond == 0xf) {
/* swi */
gen_set_condexec(s);
- gen_set_pc_im(s->pc | 1);
+ gen_set_pc_im(s->pc);
s->is_jmp = DISAS_SWI;
break;
}