aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/i387.c
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2010-12-24 08:37:34 +0000
committerKeir Fraser <keir@xen.org>2010-12-24 08:37:34 +0000
commit40aca4eccbd7158b99e3270b662c0b8c0b2e7ee3 (patch)
treef38b2ba2210ca335ff535cca54a2deaa6a224e16 /xen/arch/x86/i387.c
parent52c139177c9cfb0941abf21bb7db775b9745002d (diff)
downloadxen-40aca4eccbd7158b99e3270b662c0b8c0b2e7ee3.tar.gz
xen-40aca4eccbd7158b99e3270b662c0b8c0b2e7ee3.tar.bz2
xen-40aca4eccbd7158b99e3270b662c0b8c0b2e7ee3.zip
x86 xsave: Fix 64bit xsave_feature support for set_xcr0().
Signed-off-by: Wei Huang <wei.huang2@amd.com>
Diffstat (limited to 'xen/arch/x86/i387.c')
-rw-r--r--xen/arch/x86/i387.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/arch/x86/i387.c b/xen/arch/x86/i387.c
index 1ddb2c7495..5f3f041613 100644
--- a/xen/arch/x86/i387.c
+++ b/xen/arch/x86/i387.c
@@ -187,7 +187,7 @@ void xsave_init(void)
* Set CR4_OSXSAVE and run "cpuid" to get xsave_cntxt_size.
*/
set_in_cr4(X86_CR4_OSXSAVE);
- set_xcr0(eax & XCNTXT_MASK);
+ set_xcr0((((u64)edx << 32) | eax) & XCNTXT_MASK);
cpuid_count(XSTATE_CPUID, 0, &eax, &ebx, &ecx, &edx);
if ( cpu == 0 )