Restore the protected mode check.

This commit is contained in:
Spl3en 2015-12-24 18:39:19 +01:00
parent c9f6648877
commit 9ca993d8aa

View file

@ -7426,10 +7426,14 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
if (CODE64(s) && env->cpuid_vendor1 != CPUID_VENDOR_INTEL_1) if (CODE64(s) && env->cpuid_vendor1 != CPUID_VENDOR_INTEL_1)
goto illegal_op; goto illegal_op;
if (!s->pe) {
gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);
} else {
gen_update_cc_op(s); gen_update_cc_op(s);
gen_jmp_im(s, pc_start - s->cs_base); gen_jmp_im(s, pc_start - s->cs_base);
gen_helper_sysenter(tcg_ctx, cpu_env, tcg_const_i32(tcg_ctx, s->pc - pc_start)); gen_helper_sysenter(tcg_ctx, cpu_env, tcg_const_i32(tcg_ctx, s->pc - pc_start));
gen_eob(s); gen_eob(s);
}
break; break;
case 0x135: /* sysexit */ case 0x135: /* sysexit */
/* For Intel SYSEXIT is valid on 64-bit */ /* For Intel SYSEXIT is valid on 64-bit */