aboutsummaryrefslogtreecommitdiff
path: root/cpu-exec.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-04-26 19:33:35 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-04-26 19:33:35 +0000
commitfc9f715de8bc5aaed89ada800c1ead43c19f5784 (patch)
treebfdf9bedd8b36603307305222e44cc46a971d872 /cpu-exec.c
parentb359d4e7e44d643d25e3ead1dba31e6559f4eb72 (diff)
i386-user compile fix (Paul Brook)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1395 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'cpu-exec.c')
-rw-r--r--cpu-exec.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/cpu-exec.c b/cpu-exec.c
index c83db7d645..d414e3343b 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -322,14 +322,30 @@ int cpu_exec(CPUState *env1)
if ((loglevel & CPU_LOG_EXEC)) {
#if defined(TARGET_I386)
/* restore flags in standard format */
+#ifdef reg_EAX
env->regs[R_EAX] = EAX;
+#endif
+#ifdef reg_EBX
env->regs[R_EBX] = EBX;
+#endif
+#ifdef reg_ECX
env->regs[R_ECX] = ECX;
+#endif
+#ifdef reg_EDX
env->regs[R_EDX] = EDX;
+#endif
+#ifdef reg_ESI
env->regs[R_ESI] = ESI;
+#endif
+#ifdef reg_EDI
env->regs[R_EDI] = EDI;
+#endif
+#ifdef reg_EBP
env->regs[R_EBP] = EBP;
+#endif
+#ifdef reg_ESP
env->regs[R_ESP] = ESP;
+#endif
env->eflags = env->eflags | cc_table[CC_OP].compute_all() | (DF & DF_MASK);
cpu_dump_state(env, logfile, fprintf, X86_DUMP_CCOP);
env->eflags &= ~(DF_MASK | CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C);