diff options
-rw-r--r-- | cpu-i386.h | 1 | ||||
-rw-r--r-- | exec-i386.c | 1 |
2 files changed, 2 insertions, 0 deletions
@@ -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, |