xen/15217-hvm-save-restore.patch

32 lines
1.2 KiB
Diff

# HG changeset patch
# User Tim Deegan <Tim.Deegan@xensource.com>
# Date 1180973352 -3600
# Node ID 7a16a499152ce67fb36b4e101b7d2d953d1f6362
# Parent 6f13c3be08fa4c044868144672783f7b1341999a
[HVM] Save/restore: trigger FPU state save based on v->fpu_initialised
and not on the i387_valid flag, which has no meaning in this context.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
Index: xen-3.1-testing/xen/arch/x86/hvm/hvm.c
===================================================================
--- xen-3.1-testing.orig/xen/arch/x86/hvm/hvm.c
+++ xen-3.1-testing/xen/arch/x86/hvm/hvm.c
@@ -272,7 +272,7 @@ static int hvm_save_cpu_ctxt(struct doma
/* Other vcpu register state */
vc = &v->arch.guest_context;
- if ( vc->flags & VGCF_i387_valid )
+ if ( v->fpu_initialised )
memcpy(ctxt.fpu_regs, &vc->fpu_ctxt, sizeof(ctxt.fpu_regs));
else
memset(ctxt.fpu_regs, 0, sizeof(ctxt.fpu_regs));
@@ -364,7 +364,7 @@ static int hvm_load_cpu_ctxt(struct doma
vc->debugreg[6] = ctxt.dr6;
vc->debugreg[7] = ctxt.dr7;
- vc->flags = VGCF_i387_valid | VGCF_online;
+ vc->flags = VGCF_online;
v->fpu_initialised = 1;
/* Auxiliary processors should be woken immediately. */