aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cpu-i386.h1
-rw-r--r--exec-i386.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/cpu-i386.h b/cpu-i386.h
index dae88fb..e5bbf45 100644
--- a/cpu-i386.h
+++ b/cpu-i386.h
@@ -440,6 +440,7 @@ void cpu_x86_dump_state(CPUX86State *env, FILE *f, int flags);
#define GEN_FLAG_ST_SHIFT 4
#define GEN_FLAG_CPL_SHIFT 7
#define GEN_FLAG_IOPL_SHIFT 9
+#define GEN_FLAG_TF_SHIFT 11
int cpu_x86_gen_code(uint8_t *gen_code_buf, int max_code_size,
int *gen_code_size_ptr,
diff --git a/exec-i386.c b/exec-i386.c
index 10a10d7..5b90305 100644
--- a/exec-i386.c
+++ b/exec-i386.c
@@ -371,6 +371,7 @@ int cpu_x86_exec(CPUX86State *env1)
flags |= (3 << GEN_FLAG_CPL_SHIFT);
}
flags |= (env->eflags & IOPL_MASK) >> (12 - GEN_FLAG_IOPL_SHIFT);
+ flags |= (env->eflags & TF_MASK) << (GEN_FLAG_TF_SHIFT - 8);
cs_base = env->seg_cache[R_CS].base;
pc = cs_base + env->eip;
tb = tb_find(&ptb, (unsigned long)pc, (unsigned long)cs_base,