|
| From: | Jakub Jermar |
| Subject: | [Qemu-devel] [PATCH] Bug in AMD64 emulation Was: [AMD64] Possible problem with the DF flag during the SYSCALL instruction |
| Date: | Tue, 25 Mar 2008 20:45:37 +0100 |
| User-agent: | Thunderbird 2.0.0.12 (X11/20080227) |
Hi,as no one has picked my previous report up yet, I am resending my patch again. The patch fixes a bug in the way QEMU emulates AMD64 instruction called SYSCALL. The problem appears to be stale DF variable.
Jakub
--- helper.c 2008-01-06 20:38:45.000000000 +0100
+++ helper.c.new 2008-03-20 22:39:17.000000000 +0100
@@ -1008,6 +1008,7 @@
DESC_S_MASK |
DESC_W_MASK | DESC_A_MASK);
env->eflags &= ~env->fmask;
+ DF = 1 - (2 * ((env->eflags >> 10) & 1));
if (code64)
env->eip = env->lstar;
else
| [Prev in Thread] | Current Thread | [Next in Thread] |