|
@@ -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;
|