summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2016-12-24 20:29:33 +0000
committerEduardo Habkost <ehabkost@redhat.com>2017-01-12 15:51:35 -0200
commit410e98146ffde201ab4c778823ac8beaa74c4c3f (patch)
treefaaa09e9e934345851c641f4dab75578329ec201
parente1ff3c67e8544f41f1bea76ba76385faee0d2bb7 (diff)
downloadfocaccia-qemu-410e98146ffde201ab4c778823ac8beaa74c4c3f.tar.gz
focaccia-qemu-410e98146ffde201ab4c778823ac8beaa74c4c3f.zip
target/i386: Fix bad patch application to translate.c
In commit c52ab08aee6f7d4717fc6b517174043126bd302f,
the patch snippet for the "syscall" insn got applied to "iret".

Signed-off-by: Doug Evans <dje@google.com>
Message-Id: <f403045cde4049058c05446d5c04@google.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
-rw-r--r--target/i386/translate.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/target/i386/translate.c b/target/i386/translate.c
index 59e11fcd1f..7adfff09fc 100644
--- a/target/i386/translate.c
+++ b/target/i386/translate.c
@@ -6435,10 +6435,7 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
                                       tcg_const_i32(s->pc - s->cs_base));
             set_cc_op(s, CC_OP_EFLAGS);
         }
-        /* 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);
+        gen_eob(s);
         break;
     case 0xe8: /* call im */
         {
@@ -7119,7 +7116,10 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
         gen_update_cc_op(s);
         gen_jmp_im(pc_start - s->cs_base);
         gen_helper_syscall(cpu_env, tcg_const_i32(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;
     case 0x107: /* sysret */
         if (!s->pe) {