mirror of
https://github.com/yuzu-emu/unicorn
synced 2024-11-24 12:28:14 +00:00
Restore the protected mode check.
This commit is contained in:
parent
c9f6648877
commit
9ca993d8aa
1 changed files with 8 additions and 4 deletions
|
@ -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;
|
||||||
|
|
||||||
gen_update_cc_op(s);
|
if (!s->pe) {
|
||||||
gen_jmp_im(s, pc_start - s->cs_base);
|
gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);
|
||||||
gen_helper_sysenter(tcg_ctx, cpu_env, tcg_const_i32(tcg_ctx, s->pc - pc_start));
|
} else {
|
||||||
gen_eob(s);
|
gen_update_cc_op(s);
|
||||||
|
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_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 */
|
||||||
|
|
Loading…
Reference in a new issue