xen/xen-x86-emulate-movnti.patch

31 lines
991 B
Diff

Index: xen-3.3.1-testing/xen/arch/x86/x86_emulate/x86_emulate.c
===================================================================
--- xen-3.3.1-testing.orig/xen/arch/x86/x86_emulate/x86_emulate.c
+++ xen-3.3.1-testing/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -3657,6 +3657,12 @@ x86_emulate(
case 8: *src.reg = dst.val; break;
}
goto add;
+
+ case 0xc3: /* movnti */
+ /* Ignore the non-temporal hint for now. */
+ generate_exception_if(dst.bytes <= 2, EXC_UD, -1);
+ dst.val = src.val;
+ break;
}
goto writeback;
@@ -3923,12 +3929,6 @@ x86_emulate(
src.val = x86_seg_gs;
goto pop_seg;
- case 0xc3: /* movnti */
- /* Ignore the non-temporal hint for now. */
- generate_exception_if(dst.bytes <= 2, EXC_UD, -1);
- dst.val = src.val;
- break;
-
case 0xc7: /* Grp9 (cmpxchg8b/cmpxchg16b) */ {
unsigned long old[2], exp[2], new[2];
unsigned int i;