mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-05-05 05:32:09 +00:00
target/i386: Fix bad patch application to translate.c
In commit c52ab08aee6f7d4717fc6b517174043126bd302f, the patch snippet for the "syscall" insn got applied to "iret". Backports commit 410e98146ffde201ab4c778823ac8beaa74c4c3f from qemu
This commit is contained in:
parent
4bec129626
commit
7bd3170ea5
|
@ -7108,10 +7108,7 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
|
||||||
tcg_const_i32(tcg_ctx, s->pc - s->cs_base));
|
tcg_const_i32(tcg_ctx, s->pc - s->cs_base));
|
||||||
set_cc_op(s, CC_OP_EFLAGS);
|
set_cc_op(s, CC_OP_EFLAGS);
|
||||||
}
|
}
|
||||||
/* TF handling for the syscall insn is different. The TF bit is checked
|
gen_eob(s);
|
||||||
after the syscall insn completes. This allows #DB to not be
|
|
||||||
generated after one has entered CPL0 if TF is set in FMASK. */
|
|
||||||
gen_eob_worker(s, false, true);
|
|
||||||
break;
|
break;
|
||||||
case 0xe8: /* call im */
|
case 0xe8: /* call im */
|
||||||
{
|
{
|
||||||
|
@ -7805,7 +7802,10 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
|
||||||
case 0x105: /* syscall */
|
case 0x105: /* syscall */
|
||||||
/* XXX: is it usable in real mode ? */
|
/* XXX: is it usable in real mode ? */
|
||||||
gen_helper_syscall(tcg_ctx, cpu_env, tcg_const_i32(tcg_ctx, s->pc - pc_start));
|
gen_helper_syscall(tcg_ctx, cpu_env, tcg_const_i32(tcg_ctx, s->pc - pc_start));
|
||||||
gen_eob(s);
|
/* TF handling for the syscall insn is different. The TF bit is checked
|
||||||
|
after the syscall insn completes. This allows #DB to not be
|
||||||
|
generated after one has entered CPL0 if TF is set in FMASK. */
|
||||||
|
gen_eob_worker(s, false, true);
|
||||||
break;
|
break;
|
||||||
case 0x107: /* sysret */
|
case 0x107: /* sysret */
|
||||||
if (!s->pe) {
|
if (!s->pe) {
|
||||||
|
|
Loading…
Reference in a new issue