29 lines
1.3 KiB
Diff
29 lines
1.3 KiB
Diff
Index: 2007-01-31/xen/arch/x86/traps.c
|
|
===================================================================
|
|
--- 2007-01-31.orig/xen/arch/x86/traps.c 2007-01-31 09:42:07.000000000 +0100
|
|
+++ 2007-01-31/xen/arch/x86/traps.c 2007-02-07 17:03:20.000000000 +0100
|
|
@@ -613,6 +613,11 @@ static int emulate_forced_invalid_op(str
|
|
if ( !IS_PRIV(current->domain) )
|
|
clear_bit(X86_FEATURE_MTRR, &d);
|
|
}
|
|
+ else if ( regs->eax == 0x80000001 )
|
|
+ {
|
|
+ /* Modify Feature Information. */
|
|
+ clear_bit(X86_FEATURE_RDTSCP % 32, &d);
|
|
+ }
|
|
else
|
|
{
|
|
(void)cpuid_hypervisor_leaves(regs->eax, &a, &b, &c, &d);
|
|
Index: 2007-01-31/xen/include/asm-x86/cpufeature.h
|
|
===================================================================
|
|
--- 2007-01-31.orig/xen/include/asm-x86/cpufeature.h 2007-01-31 09:28:56.000000000 +0100
|
|
+++ 2007-01-31/xen/include/asm-x86/cpufeature.h 2007-02-07 17:03:20.000000000 +0100
|
|
@@ -49,6 +49,7 @@
|
|
#define X86_FEATURE_MP (1*32+19) /* MP Capable. */
|
|
#define X86_FEATURE_NX (1*32+20) /* Execute Disable */
|
|
#define X86_FEATURE_MMXEXT (1*32+22) /* AMD MMX extensions */
|
|
+#define X86_FEATURE_RDTSCP (1*32+27) /* RDTSCP */
|
|
#define X86_FEATURE_LM (1*32+29) /* Long Mode (x86-64) */
|
|
#define X86_FEATURE_3DNOWEXT (1*32+30) /* AMD 3DNow! extensions */
|
|
#define X86_FEATURE_3DNOW (1*32+31) /* 3DNow! */
|