From da6392583cb0cdf4df15919bc23371efce3cb21d Mon Sep 17 00:00:00 2001 From: Christian Borntraeger Date: Fri, 25 Jan 2013 15:34:15 +0100 Subject: [PATCH] --- yaml --- r: 356895 b: refs/heads/master c: 15bc8d8457875f495c59d933b05770ba88d1eacb h: refs/heads/master i: 356893: 8973c4db537fee490b7e3a04df00dfd43ab6954e 356891: 24ddb831410ba0373bd14084874f7238898cf130 356887: a8f62290344969a5fc85a9fbab3a19a9ad29cc0e 356879: a44c9b0027e58903b4ddcd258b7c3e8fc30eb666 356863: f7883c324d437de13616fec65ba78e83e4483867 v: v3 --- [refs] | 2 +- trunk/arch/s390/kvm/kvm-s390.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index abad81ba9676..9bfec3441ddd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c45c528e899094b9049b3c900e2cf1f00aa0490c +refs/heads/master: 15bc8d8457875f495c59d933b05770ba88d1eacb diff --git a/trunk/arch/s390/kvm/kvm-s390.c b/trunk/arch/s390/kvm/kvm-s390.c index 5b01f0953900..4377d1886631 100644 --- a/trunk/arch/s390/kvm/kvm-s390.c +++ b/trunk/arch/s390/kvm/kvm-s390.c @@ -770,6 +770,14 @@ int kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, unsigned long addr) } else prefix = 0; + /* + * The guest FPRS and ACRS are in the host FPRS/ACRS due to the lazy + * copying in vcpu load/put. Lets update our copies before we save + * it into the save area + */ + save_fp_regs(&vcpu->arch.guest_fpregs); + save_access_regs(vcpu->run->s.regs.acrs); + if (__guestcopy(vcpu, addr + offsetof(struct save_area, fp_regs), vcpu->arch.guest_fpregs.fprs, 128, prefix)) return -EFAULT;