summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-05-10 15:07:00 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-05-10 15:07:00 +0000
commitcabb4d616d47300a65062eb07142738b1cd35563 (patch)
tree1b30b521faad78b3d48c9654b6a0d521b9029c99
parent631271d7164f8209c044988b6a02e1153391c4f9 (diff)
downloadqemu-cabb4d616d47300a65062eb07142738b1cd35563.tar.gz
qemu-cabb4d616d47300a65062eb07142738b1cd35563.tar.bz2
qemu-cabb4d616d47300a65062eb07142738b1cd35563.zip
TF flag support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@144 c046a42c-6fe2-441c-8c8c-71466251a162
-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 dae88fba67..e5bbf45a8b 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 10a10d7e6b..5b90305058 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,