Lines Matching refs:current

394 	flush_fp_to_thread(current);  in save_user_regs()
402 if (current->thread.used_vr) { in save_user_regs()
403 flush_altivec_to_thread(current); in save_user_regs()
404 if (__copy_to_user(&frame->mc_vregs, &current->thread.vr_state, in save_user_regs()
420 current->thread.vrsave = mfspr(SPRN_VRSAVE); in save_user_regs()
421 if (__put_user(current->thread.vrsave, (u32 __user *)&frame->mc_vregs[32])) in save_user_regs()
424 if (copy_fpr_to_user(&frame->mc_fregs, current)) in save_user_regs()
439 if (current->thread.used_vsr && ctx_has_vsx_region) { in save_user_regs()
440 flush_vsx_to_thread(current); in save_user_regs()
441 if (copy_vsx_to_user(&frame->mc_vsregs, current)) in save_user_regs()
448 if (current->thread.used_spe) { in save_user_regs()
449 flush_spe_to_thread(current); in save_user_regs()
450 if (__copy_to_user(&frame->mc_vregs, current->thread.evr, in save_user_regs()
460 if (__put_user(current->thread.spefscr, (u32 __user *)&frame->mc_vregs + ELF_NEVRREG)) in save_user_regs()
510 if (save_general_regs(&current->thread.ckpt_regs, frame) in save_tm_user_regs()
525 if (current->thread.used_vr) { in save_tm_user_regs()
526 if (__copy_to_user(&frame->mc_vregs, &current->thread.ckvr_state, in save_tm_user_regs()
531 &current->thread.vr_state, in save_tm_user_regs()
536 &current->thread.ckvr_state, in save_tm_user_regs()
553 current->thread.ckvrsave = mfspr(SPRN_VRSAVE); in save_tm_user_regs()
554 if (__put_user(current->thread.ckvrsave, in save_tm_user_regs()
558 if (__put_user(current->thread.vrsave, in save_tm_user_regs()
562 if (__put_user(current->thread.ckvrsave, in save_tm_user_regs()
568 if (copy_ckfpr_to_user(&frame->mc_fregs, current)) in save_tm_user_regs()
571 if (copy_fpr_to_user(&tm_frame->mc_fregs, current)) in save_tm_user_regs()
574 if (copy_ckfpr_to_user(&tm_frame->mc_fregs, current)) in save_tm_user_regs()
585 if (current->thread.used_vsr) { in save_tm_user_regs()
586 if (copy_ckvsx_to_user(&frame->mc_vsregs, current)) in save_tm_user_regs()
590 current)) in save_tm_user_regs()
593 if (copy_ckvsx_to_user(&tm_frame->mc_vsregs, current)) in save_tm_user_regs()
604 if (current->thread.used_spe) { in save_tm_user_regs()
605 flush_spe_to_thread(current); in save_tm_user_regs()
606 if (__copy_to_user(&frame->mc_vregs, current->thread.evr, in save_tm_user_regs()
615 if (__put_user(current->thread.spefscr, (u32 __user *)&frame->mc_vregs + ELF_NEVRREG)) in save_tm_user_regs()
674 if (__copy_from_user(&current->thread.vr_state, &sr->mc_vregs, in restore_user_regs()
677 current->thread.used_vr = true; in restore_user_regs()
678 } else if (current->thread.used_vr) in restore_user_regs()
679 memset(&current->thread.vr_state, 0, in restore_user_regs()
683 if (__get_user(current->thread.vrsave, (u32 __user *)&sr->mc_vregs[32])) in restore_user_regs()
686 mtspr(SPRN_VRSAVE, current->thread.vrsave); in restore_user_regs()
688 if (copy_fpr_from_user(current, &sr->mc_fregs)) in restore_user_regs()
702 if (copy_vsx_from_user(current, &sr->mc_vsregs)) in restore_user_regs()
704 current->thread.used_vsr = true; in restore_user_regs()
705 } else if (current->thread.used_vsr) in restore_user_regs()
707 current->thread.fp_state.fpr[i][TS_VSRLOWOFFSET] = 0; in restore_user_regs()
721 if (__copy_from_user(current->thread.evr, &sr->mc_vregs, in restore_user_regs()
724 current->thread.used_spe = true; in restore_user_regs()
725 } else if (current->thread.used_spe) in restore_user_regs()
726 memset(current->thread.evr, 0, ELF_NEVRREG * sizeof(u32)); in restore_user_regs()
729 if (__get_user(current->thread.spefscr, (u32 __user *)&sr->mc_vregs + ELF_NEVRREG)) in restore_user_regs()
762 err |= restore_general_regs(&current->thread.ckpt_regs, sr); in restore_tm_user_regs()
764 err |= __get_user(current->thread.tm_tfhar, &sr->mc_gregs[PT_NIP]); in restore_tm_user_regs()
777 if (__copy_from_user(&current->thread.ckvr_state, &sr->mc_vregs, in restore_tm_user_regs()
779 __copy_from_user(&current->thread.vr_state, in restore_tm_user_regs()
783 current->thread.used_vr = true; in restore_tm_user_regs()
784 } else if (current->thread.used_vr) { in restore_tm_user_regs()
785 memset(&current->thread.vr_state, 0, in restore_tm_user_regs()
787 memset(&current->thread.ckvr_state, 0, in restore_tm_user_regs()
792 if (__get_user(current->thread.ckvrsave, in restore_tm_user_regs()
794 __get_user(current->thread.vrsave, in restore_tm_user_regs()
798 mtspr(SPRN_VRSAVE, current->thread.ckvrsave); in restore_tm_user_regs()
803 if (copy_fpr_from_user(current, &sr->mc_fregs) || in restore_tm_user_regs()
804 copy_ckfpr_from_user(current, &tm_sr->mc_fregs)) in restore_tm_user_regs()
814 if (copy_vsx_from_user(current, &tm_sr->mc_vsregs) || in restore_tm_user_regs()
815 copy_ckvsx_from_user(current, &sr->mc_vsregs)) in restore_tm_user_regs()
817 current->thread.used_vsr = true; in restore_tm_user_regs()
818 } else if (current->thread.used_vsr) in restore_tm_user_regs()
820 current->thread.fp_state.fpr[i][TS_VSRLOWOFFSET] = 0; in restore_tm_user_regs()
821 current->thread.ckfp_state.fpr[i][TS_VSRLOWOFFSET] = 0; in restore_tm_user_regs()
831 if (__copy_from_user(current->thread.evr, &sr->mc_vregs, in restore_tm_user_regs()
834 current->thread.used_spe = true; in restore_tm_user_regs()
835 } else if (current->thread.used_spe) in restore_tm_user_regs()
836 memset(current->thread.evr, 0, ELF_NEVRREG * sizeof(u32)); in restore_tm_user_regs()
839 if (__get_user(current->thread.spefscr, (u32 __user *)&sr->mc_vregs in restore_tm_user_regs()
859 current->thread.tm_texasr |= TEXASR_FS; in restore_tm_user_regs()
861 tm_recheckpoint(&current->thread); in restore_tm_user_regs()
866 load_fp_state(&current->thread.fp_state); in restore_tm_user_regs()
867 regs->msr |= (MSR_FP | current->thread.fpexc_mode); in restore_tm_user_regs()
871 load_vr_state(&current->thread.vr_state); in restore_tm_user_regs()
902 BUG_ON(tsk != current); in handle_rt_signal32()
1107 || put_sigset_t(&old_ctx->uc_sigmask, &current->blocked) in COMPAT_SYSCALL_DEFINE3()
1150 current->restart_block.fn = do_no_restart_syscall; in COMPAT_SYSCALL_DEFINE0()
1223 current->comm, current->pid, in COMPAT_SYSCALL_DEFINE0()
1226 force_sig(SIGSEGV, current); in COMPAT_SYSCALL_DEFINE0()
1239 unsigned long new_dbcr0 = current->thread.debug.dbcr0; in SYSCALL_DEFINE3()
1254 current->thread.debug.dbcr1)) { in SYSCALL_DEFINE3()
1289 current->thread.debug.dbcr0 = new_dbcr0; in SYSCALL_DEFINE3()
1312 current->comm, current->pid, in SYSCALL_DEFINE3()
1315 force_sig(SIGSEGV, current); in SYSCALL_DEFINE3()
1348 BUG_ON(tsk != current); in handle_signal32()
1442 current->restart_block.fn = do_no_restart_syscall; in COMPAT_SYSCALL_DEFINE0()
1490 current->comm, current->pid, in COMPAT_SYSCALL_DEFINE0()
1493 force_sig(SIGSEGV, current); in COMPAT_SYSCALL_DEFINE0()