PATCH: dr7,eax moves

Marcus Meissner marcus at jet.franken.de
Sun Feb 15 14:16:41 CST 2004


Hi,

Changelog:
	Support emulation of the privileged mov dr7,eax instruction.

Index: dlls/kernel/instr.c
===================================================================
RCS file: /home/wine/wine/dlls/kernel/instr.c,v
retrieving revision 1.11
diff -u -r1.11 instr.c
--- dlls/kernel/instr.c	27 Nov 2003 00:59:36 -0000	1.11
+++ dlls/kernel/instr.c	15 Feb 2004 20:15:09 -0000
@@ -559,6 +559,20 @@
 		}
 		/* fallthrough to illegal instruction */
 		break;
+	    case 0x21: /* mov drX, eax */
+                switch (instr[2])
+                {
+		case 0xf8: /* mov dr7, eax */
+                    TRACE("mov dr7,eax at 0x%08lx\n",context->Eip);
+                    context->Eax = 0;
+                    context->Eip += prefixlen+3;
+		    return ExceptionContinueExecution;
+		default: /* fallthrough to illegal instruction */
+		    ERR("Unknown DR register, eip+2 is %02x\n", instr[2]);
+		    break;
+		}
+		/* fallthrough to illegal instruction */
+		break;
             case 0xa1: /* pop fs */
                 {
                     WORD seg = *(WORD *)get_stack( context );
-- 



More information about the wine-patches mailing list