[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] x86: Fix PV guest xsave support.



# HG changeset patch
# User Keir Fraser <keir@xxxxxxx>
# Date 1289230861 0
# Node ID eceb22a210e7f1e460092c1cfa2e544088c30314
# Parent  5505388c394d89140f85311e2d60fa77a85d49d3
x86: Fix PV guest xsave support.

Signed-off-by: Shan Haitao <haitao.shan@xxxxxxxxx>
---
 xen/arch/x86/domain.c |    2 +-
 xen/arch/x86/i387.c   |    1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff -r 5505388c394d -r eceb22a210e7 xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c     Mon Nov 08 15:32:55 2010 +0000
+++ b/xen/arch/x86/domain.c     Mon Nov 08 15:41:01 2010 +0000
@@ -395,7 +395,7 @@ int vcpu_initialise(struct vcpu *v)
     rc = 0;
     if ( is_pv_32on64_vcpu(v) )
         rc = setup_compat_l4(v);
-    if ( !rc )
+    if ( rc )
         xfree(v->arch.xsave_area);
 
     return rc;
diff -r 5505388c394d -r eceb22a210e7 xen/arch/x86/i387.c
--- a/xen/arch/x86/i387.c       Mon Nov 08 15:32:55 2010 +0000
+++ b/xen/arch/x86/i387.c       Mon Nov 08 15:41:01 2010 +0000
@@ -209,6 +209,7 @@ void xsave_init_save_area(void *save_are
     memset(save_area, 0, xsave_cntxt_size);
 
     ((u32 *)save_area)[6] = 0x1f80;  /* MXCSR */
+    *(uint64_t *)(save_area + 512) = XSTATE_FP_SSE;  /* XSETBV */
 }
 
 /*

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.