s390/kvm: convert to regular kernel fpu user
[linux-2.6-microblaze.git] / arch / s390 / kvm / interrupt.c
index 9315203..c81708a 100644 (file)
@@ -584,7 +584,11 @@ static int __write_machine_check(struct kvm_vcpu *vcpu,
 
        mci.val = mchk->mcic;
        /* take care of lazy register loading */
-       save_user_fpu_regs();
+       fpu_stfpc(&vcpu->run->s.regs.fpc);
+       if (cpu_has_vx())
+               save_vx_regs((__vector128 *)&vcpu->run->s.regs.vrs);
+       else
+               save_fp_regs((freg_t *)&vcpu->run->s.regs.fprs);
        save_access_regs(vcpu->run->s.regs.acrs);
        if (MACHINE_HAS_GS && vcpu->arch.gs_enabled)
                save_gs_cb(current->thread.gs_cb);
@@ -648,7 +652,7 @@ static int __write_machine_check(struct kvm_vcpu *vcpu,
        }
        rc |= write_guest_lc(vcpu, __LC_GPREGS_SAVE_AREA,
                             vcpu->run->s.regs.gprs, 128);
-       rc |= put_guest_lc(vcpu, current->thread.ufpu.fpc,
+       rc |= put_guest_lc(vcpu, vcpu->run->s.regs.fpc,
                           (u32 __user *) __LC_FP_CREG_SAVE_AREA);
        rc |= put_guest_lc(vcpu, vcpu->arch.sie_block->todpr,
                           (u32 __user *) __LC_TOD_PROGREG_SAVE_AREA);