31 lines
991 B
Diff
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;
|