Lines Matching refs:current

102 	if (current->thread.used_vr) {  in setup_sigcontext()
103 flush_altivec_to_thread(current); in setup_sigcontext()
105 err |= __copy_to_user(v_regs, &current->thread.vr_state, in setup_sigcontext()
116 current->thread.vrsave = mfspr(SPRN_VRSAVE); in setup_sigcontext()
117 err |= __put_user(current->thread.vrsave, (u32 __user *)&v_regs[33]); in setup_sigcontext()
121 flush_fp_to_thread(current); in setup_sigcontext()
123 err |= copy_fpr_to_user(&sc->fp_regs, current); in setup_sigcontext()
136 if (current->thread.used_vsr && ctx_has_vsx_region) { in setup_sigcontext()
137 __giveup_vsx(current); in setup_sigcontext()
139 err |= copy_vsx_to_user(v_regs, current); in setup_sigcontext()
201 flush_fp_to_thread(current); in setup_tm_sigcontexts()
208 if (current->thread.used_vr) { in setup_tm_sigcontexts()
209 flush_altivec_to_thread(current); in setup_tm_sigcontexts()
211 err |= __copy_to_user(v_regs, &current->thread.vr_state, in setup_tm_sigcontexts()
218 &current->thread.transact_vr, in setup_tm_sigcontexts()
222 &current->thread.vr_state, in setup_tm_sigcontexts()
234 current->thread.vrsave = mfspr(SPRN_VRSAVE); in setup_tm_sigcontexts()
235 err |= __put_user(current->thread.vrsave, (u32 __user *)&v_regs[33]); in setup_tm_sigcontexts()
237 err |= __put_user(current->thread.transact_vrsave, in setup_tm_sigcontexts()
240 err |= __put_user(current->thread.vrsave, in setup_tm_sigcontexts()
249 err |= copy_fpr_to_user(&sc->fp_regs, current); in setup_tm_sigcontexts()
251 err |= copy_transact_fpr_to_user(&tm_sc->fp_regs, current); in setup_tm_sigcontexts()
253 err |= copy_fpr_to_user(&tm_sc->fp_regs, current); in setup_tm_sigcontexts()
261 if (current->thread.used_vsr) { in setup_tm_sigcontexts()
262 __giveup_vsx(current); in setup_tm_sigcontexts()
266 err |= copy_vsx_to_user(v_regs, current); in setup_tm_sigcontexts()
269 err |= copy_transact_vsx_to_user(tm_v_regs, current); in setup_tm_sigcontexts()
271 err |= copy_vsx_to_user(tm_v_regs, current); in setup_tm_sigcontexts()
285 &current->thread.ckpt_regs, GP_REGS_SIZE); in setup_tm_sigcontexts()
365 err |= __copy_from_user(&current->thread.vr_state, v_regs, in restore_sigcontext()
367 else if (current->thread.used_vr) in restore_sigcontext()
368 memset(&current->thread.vr_state, 0, 33 * sizeof(vector128)); in restore_sigcontext()
371 err |= __get_user(current->thread.vrsave, (u32 __user *)&v_regs[33]); in restore_sigcontext()
373 current->thread.vrsave = 0; in restore_sigcontext()
375 mtspr(SPRN_VRSAVE, current->thread.vrsave); in restore_sigcontext()
378 err |= copy_fpr_from_user(current, &sc->fp_regs); in restore_sigcontext()
387 err |= copy_vsx_from_user(current, v_regs); in restore_sigcontext()
390 current->thread.fp_state.fpr[i][TS_VSRLOWOFFSET] = 0; in restore_sigcontext()
414 err |= __copy_from_user(&current->thread.ckpt_regs, sc->gp_regs, in restore_tm_sigcontexts()
426 err |= __get_user(current->thread.tm_tfhar, &sc->gp_regs[PT_NIP]); in restore_tm_sigcontexts()
445 err |= __get_user(current->thread.ckpt_regs.ctr, in restore_tm_sigcontexts()
447 err |= __get_user(current->thread.ckpt_regs.link, in restore_tm_sigcontexts()
449 err |= __get_user(current->thread.ckpt_regs.xer, in restore_tm_sigcontexts()
451 err |= __get_user(current->thread.ckpt_regs.ccr, in restore_tm_sigcontexts()
488 err |= __copy_from_user(&current->thread.vr_state, v_regs, in restore_tm_sigcontexts()
490 err |= __copy_from_user(&current->thread.transact_vr, tm_v_regs, in restore_tm_sigcontexts()
493 else if (current->thread.used_vr) { in restore_tm_sigcontexts()
494 memset(&current->thread.vr_state, 0, 33 * sizeof(vector128)); in restore_tm_sigcontexts()
495 memset(&current->thread.transact_vr, 0, 33 * sizeof(vector128)); in restore_tm_sigcontexts()
499 err |= __get_user(current->thread.vrsave, in restore_tm_sigcontexts()
501 err |= __get_user(current->thread.transact_vrsave, in restore_tm_sigcontexts()
505 current->thread.vrsave = 0; in restore_tm_sigcontexts()
506 current->thread.transact_vrsave = 0; in restore_tm_sigcontexts()
509 mtspr(SPRN_VRSAVE, current->thread.vrsave); in restore_tm_sigcontexts()
512 err |= copy_fpr_from_user(current, &sc->fp_regs); in restore_tm_sigcontexts()
513 err |= copy_transact_fpr_from_user(current, &tm_sc->fp_regs); in restore_tm_sigcontexts()
523 err |= copy_vsx_from_user(current, v_regs); in restore_tm_sigcontexts()
524 err |= copy_transact_vsx_from_user(current, tm_v_regs); in restore_tm_sigcontexts()
527 current->thread.fp_state.fpr[i][TS_VSRLOWOFFSET] = 0; in restore_tm_sigcontexts()
528 current->thread.transact_fp.fpr[i][TS_VSRLOWOFFSET] = 0; in restore_tm_sigcontexts()
534 current->thread.tm_texasr |= TEXASR_FS; in restore_tm_sigcontexts()
536 tm_recheckpoint(&current->thread, msr); in restore_tm_sigcontexts()
540 do_load_up_transact_fpu(&current->thread); in restore_tm_sigcontexts()
541 regs->msr |= (MSR_FP | current->thread.fpexc_mode); in restore_tm_sigcontexts()
545 do_load_up_transact_altivec(&current->thread); in restore_tm_sigcontexts()
624 &current->blocked, sizeof(sigset_t))) in sys_swapcontext()
673 current->restart_block.fn = do_no_restart_syscall; in sys_rt_sigreturn()
708 current->comm, current->pid, "rt_sigreturn", in sys_rt_sigreturn()
711 force_sig(SIGSEGV, current); in sys_rt_sigreturn()
758 current->thread.fp_state.fpscr = 0; in handle_rt_signal64()
761 if (vdso64_rt_sigtramp && current->mm->context.vdso_base) { in handle_rt_signal64()
762 regs->link = current->mm->context.vdso_base + vdso64_rt_sigtramp; in handle_rt_signal64()
812 current->comm, current->pid, "setup_rt_frame", in handle_rt_signal64()