Save the exact SWI return address in Thumb mode.
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 16 Apr 2008 23:17:02 +0000 (23:17 +0000)
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 16 Apr 2008 23:17:02 +0000 (23:17 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4217 c046a42c-6fe2-441c-8c8c-71466251a162

target-arm/translate.c

index 4678586..5751e2f 100644 (file)
@@ -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;
         }