Workaround qemu guest SIGSEGVs with cmpxchg8b insn, by Juergen Keil.
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 27 Apr 2007 00:01:20 +0000 (00:01 +0000)
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 27 Apr 2007 00:01:20 +0000 (00:01 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2732 c046a42c-6fe2-441c-8c8c-71466251a162

target-i386/translate.c

index 735acb0..53ccc85 100644 (file)
@@ -3797,6 +3797,7 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start)
         mod = (modrm >> 6) & 3;
         if (mod == 3)
             goto illegal_op;
+        gen_jmp_im(pc_start - s->cs_base);
         if (s->cc_op != CC_OP_DYNAMIC)
             gen_op_set_cc_op(s->cc_op);
         gen_lea_modrm(s, modrm, &reg_addr, &offset_addr);