From: bellard Date: Wed, 4 Jun 2008 17:12:40 +0000 (+0000) Subject: fixed exceptions for cpuid and invlpg X-Git-Tag: TizenStudio_2.0_p2.3.2~208^2~14622 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9575cb94930895225ec1f6538ba1f74dda0342aa;p=sdk%2Femulator%2Fqemu.git fixed exceptions for cpuid and invlpg git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4664 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/target-i386/translate.c b/target-i386/translate.c index fb69500..85495a9 100644 --- a/target-i386/translate.c +++ b/target-i386/translate.c @@ -6407,6 +6407,9 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) break; #endif case 0x1a2: /* cpuid */ + if (s->cc_op != CC_OP_DYNAMIC) + gen_op_set_cc_op(s->cc_op); + gen_jmp_im(pc_start - s->cs_base); tcg_gen_helper_0_0(helper_cpuid); break; case 0xf4: /* hlt */ @@ -6700,6 +6703,9 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) goto illegal_op; } } else { + if (s->cc_op != CC_OP_DYNAMIC) + gen_op_set_cc_op(s->cc_op); + gen_jmp_im(pc_start - s->cs_base); gen_lea_modrm(s, modrm, ®_addr, &offset_addr); tcg_gen_helper_0_1(helper_invlpg, cpu_A0); gen_jmp_im(s->pc - s->cs_base);