aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/xc_cpuid_x86.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/libxc/xc_cpuid_x86.c')
-rw-r--r--tools/libxc/xc_cpuid_x86.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c
index 90fab3906c..7a5ec1910b 100644
--- a/tools/libxc/xc_cpuid_x86.c
+++ b/tools/libxc/xc_cpuid_x86.c
@@ -224,6 +224,14 @@ static void xc_cpuid_hvm_policy(
clear_bit(X86_FEATURE_NX, regs[3]);
break;
+ case 0x80000007:
+ /*
+ * Keep only TSCInvariant. This may be cleared by the hypervisor
+ * depending on guest TSC and migration settings.
+ */
+ regs[0] = regs[1] = regs[2] = 0;
+ regs[3] &= 1u<<8;
+ break;
case 0x80000008:
regs[0] &= 0x0000ffffu;