Lines Matching refs:current
115 if (current->thread.used_vr) { in setup_sigcontext()
116 flush_altivec_to_thread(current); in setup_sigcontext()
118 err |= __copy_to_user(v_regs, ¤t->thread.vr_state, in setup_sigcontext()
129 current->thread.vrsave = mfspr(SPRN_VRSAVE); in setup_sigcontext()
130 err |= __put_user(current->thread.vrsave, (u32 __user *)&v_regs[33]); in setup_sigcontext()
134 flush_fp_to_thread(current); in setup_sigcontext()
136 err |= copy_fpr_to_user(&sc->fp_regs, current); in setup_sigcontext()
149 if (current->thread.used_vsr && ctx_has_vsx_region) { in setup_sigcontext()
150 __giveup_vsx(current); in setup_sigcontext()
152 err |= copy_vsx_to_user(v_regs, current); in setup_sigcontext()
212 flush_fp_to_thread(current); in setup_tm_sigcontexts()
219 if (current->thread.used_vr) { in setup_tm_sigcontexts()
220 flush_altivec_to_thread(current); in setup_tm_sigcontexts()
222 err |= __copy_to_user(v_regs, ¤t->thread.vr_state, in setup_tm_sigcontexts()
229 ¤t->thread.transact_vr, in setup_tm_sigcontexts()
233 ¤t->thread.vr_state, in setup_tm_sigcontexts()
245 current->thread.vrsave = mfspr(SPRN_VRSAVE); in setup_tm_sigcontexts()
246 err |= __put_user(current->thread.vrsave, (u32 __user *)&v_regs[33]); in setup_tm_sigcontexts()
248 err |= __put_user(current->thread.transact_vrsave, in setup_tm_sigcontexts()
251 err |= __put_user(current->thread.vrsave, in setup_tm_sigcontexts()
260 err |= copy_fpr_to_user(&sc->fp_regs, current); in setup_tm_sigcontexts()
262 err |= copy_transact_fpr_to_user(&tm_sc->fp_regs, current); in setup_tm_sigcontexts()
264 err |= copy_fpr_to_user(&tm_sc->fp_regs, current); in setup_tm_sigcontexts()
272 if (current->thread.used_vsr) { in setup_tm_sigcontexts()
273 __giveup_vsx(current); in setup_tm_sigcontexts()
277 err |= copy_vsx_to_user(v_regs, current); in setup_tm_sigcontexts()
280 err |= copy_transact_vsx_to_user(tm_v_regs, current); in setup_tm_sigcontexts()
282 err |= copy_vsx_to_user(tm_v_regs, current); in setup_tm_sigcontexts()
296 ¤t->thread.ckpt_regs, GP_REGS_SIZE); in setup_tm_sigcontexts()
376 err |= __copy_from_user(¤t->thread.vr_state, v_regs, in restore_sigcontext()
378 else if (current->thread.used_vr) in restore_sigcontext()
379 memset(¤t->thread.vr_state, 0, 33 * sizeof(vector128)); in restore_sigcontext()
382 err |= __get_user(current->thread.vrsave, (u32 __user *)&v_regs[33]); in restore_sigcontext()
384 current->thread.vrsave = 0; in restore_sigcontext()
386 mtspr(SPRN_VRSAVE, current->thread.vrsave); in restore_sigcontext()
389 err |= copy_fpr_from_user(current, &sc->fp_regs); in restore_sigcontext()
398 err |= copy_vsx_from_user(current, v_regs); in restore_sigcontext()
401 current->thread.fp_state.fpr[i][TS_VSRLOWOFFSET] = 0; in restore_sigcontext()
425 err |= __copy_from_user(¤t->thread.ckpt_regs, sc->gp_regs, in restore_tm_sigcontexts()
437 err |= __get_user(current->thread.tm_tfhar, &sc->gp_regs[PT_NIP]); in restore_tm_sigcontexts()
456 err |= __get_user(current->thread.ckpt_regs.ctr, in restore_tm_sigcontexts()
458 err |= __get_user(current->thread.ckpt_regs.link, in restore_tm_sigcontexts()
460 err |= __get_user(current->thread.ckpt_regs.xer, in restore_tm_sigcontexts()
462 err |= __get_user(current->thread.ckpt_regs.ccr, in restore_tm_sigcontexts()
499 err |= __copy_from_user(¤t->thread.vr_state, v_regs, in restore_tm_sigcontexts()
501 err |= __copy_from_user(¤t->thread.transact_vr, tm_v_regs, in restore_tm_sigcontexts()
504 else if (current->thread.used_vr) { in restore_tm_sigcontexts()
505 memset(¤t->thread.vr_state, 0, 33 * sizeof(vector128)); in restore_tm_sigcontexts()
506 memset(¤t->thread.transact_vr, 0, 33 * sizeof(vector128)); in restore_tm_sigcontexts()
510 err |= __get_user(current->thread.vrsave, in restore_tm_sigcontexts()
512 err |= __get_user(current->thread.transact_vrsave, in restore_tm_sigcontexts()
516 current->thread.vrsave = 0; in restore_tm_sigcontexts()
517 current->thread.transact_vrsave = 0; in restore_tm_sigcontexts()
520 mtspr(SPRN_VRSAVE, current->thread.vrsave); in restore_tm_sigcontexts()
523 err |= copy_fpr_from_user(current, &sc->fp_regs); in restore_tm_sigcontexts()
524 err |= copy_transact_fpr_from_user(current, &tm_sc->fp_regs); in restore_tm_sigcontexts()
534 err |= copy_vsx_from_user(current, v_regs); in restore_tm_sigcontexts()
535 err |= copy_transact_vsx_from_user(current, tm_v_regs); in restore_tm_sigcontexts()
538 current->thread.fp_state.fpr[i][TS_VSRLOWOFFSET] = 0; in restore_tm_sigcontexts()
539 current->thread.transact_fp.fpr[i][TS_VSRLOWOFFSET] = 0; in restore_tm_sigcontexts()
545 current->thread.tm_texasr |= TEXASR_FS; in restore_tm_sigcontexts()
547 tm_recheckpoint(¤t->thread, msr); in restore_tm_sigcontexts()
551 do_load_up_transact_fpu(¤t->thread); in restore_tm_sigcontexts()
552 regs->msr |= (MSR_FP | current->thread.fpexc_mode); in restore_tm_sigcontexts()
556 do_load_up_transact_altivec(¤t->thread); in restore_tm_sigcontexts()
635 ¤t->blocked, sizeof(sigset_t))) in sys_swapcontext()
684 current->restart_block.fn = do_no_restart_syscall; in sys_rt_sigreturn()
719 current->comm, current->pid, "rt_sigreturn", in sys_rt_sigreturn()
722 force_sig(SIGSEGV, current); in sys_rt_sigreturn()
769 current->thread.fp_state.fpscr = 0; in handle_rt_signal64()
772 if (vdso64_rt_sigtramp && current->mm->context.vdso_base) { in handle_rt_signal64()
773 regs->link = current->mm->context.vdso_base + vdso64_rt_sigtramp; in handle_rt_signal64()
823 current->comm, current->pid, "setup_rt_frame", in handle_rt_signal64()