debuggers.hg
changeset 16746:a30aabe3c84a
svm: Properly mask unsupported bits in CPUID_80000001_ECX.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
author | Keir Fraser <keir.fraser@citrix.com> |
---|---|
date | Sat Jan 12 09:29:38 2008 +0000 (2008-01-12) |
parents | 51aa2f884f64 |
children | 9862217f3c34 |
files | xen/arch/x86/hvm/svm/svm.c |
line diff
1.1 --- a/xen/arch/x86/hvm/svm/svm.c Fri Jan 11 11:01:36 2008 +0000 1.2 +++ b/xen/arch/x86/hvm/svm/svm.c Sat Jan 12 09:29:38 2008 +0000 1.3 @@ -1009,6 +1009,12 @@ static void svm_vmexit_do_cpuid(struct v 1.4 __clear_bit(X86_FEATURE_PSE36 & 31, &edx); 1.5 1.6 /* Filter all other features according to a whitelist. */ 1.7 + ecx &= (bitmaskof(X86_FEATURE_LAHF_LM) | 1.8 + bitmaskof(X86_FEATURE_ALTMOVCR) | 1.9 + bitmaskof(X86_FEATURE_ABM) | 1.10 + bitmaskof(X86_FEATURE_SSE4A) | 1.11 + bitmaskof(X86_FEATURE_MISALIGNSSE) | 1.12 + bitmaskof(X86_FEATURE_3DNOWPF)); 1.13 edx &= (0x0183f3ff | /* features shared with 0x00000001:EDX */ 1.14 bitmaskof(X86_FEATURE_NX) | 1.15 bitmaskof(X86_FEATURE_LM) |