diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-11-09 18:54:27 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-11-09 18:54:27 +0000 |
commit | 4a6d50ad69a6469bde719b4b6ebe7978775899f9 (patch) | |
tree | 19b8b784844ccf542a5790643937cba156c37562 /tools/libxc/xc_cpuid_x86.c | |
parent | 2e6a2d4dba8ee9291a966ab468ef234b65cdf4c5 (diff) | |
download | xen-4a6d50ad69a6469bde719b4b6ebe7978775899f9.tar.gz xen-4a6d50ad69a6469bde719b4b6ebe7978775899f9.tar.bz2 xen-4a6d50ad69a6469bde719b4b6ebe7978775899f9.zip |
x86, hvm: Make host TscInvariant CPUID flag visible to guest by default.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'tools/libxc/xc_cpuid_x86.c')
-rw-r--r-- | tools/libxc/xc_cpuid_x86.c | 8 |
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; |