Lines Matching refs:thread

91 	if (tsk->thread.used_vr)  in prepare_setup_sigcontext()
94 tsk->thread.vrsave = mfspr(SPRN_VRSAVE); in prepare_setup_sigcontext()
100 if (tsk->thread.used_vsr) in prepare_setup_sigcontext()
129 struct pt_regs *regs = tsk->thread.regs; in __unsafe_setup_sigcontext()
140 if (tsk->thread.used_vr) { in __unsafe_setup_sigcontext()
142 unsafe_copy_to_user(v_regs, &tsk->thread.vr_state, in __unsafe_setup_sigcontext()
152 unsafe_put_user(tsk->thread.vrsave, (u32 __user *)&v_regs[33], efault_out); in __unsafe_setup_sigcontext()
170 if (tsk->thread.used_vsr && ctx_has_vsx_region) { in __unsafe_setup_sigcontext()
224 struct pt_regs *regs = tsk->thread.regs; in setup_tm_sigcontexts()
237 msr |= tsk->thread.ckpt_regs.msr & (MSR_FP | MSR_VEC | MSR_VSX); in setup_tm_sigcontexts()
244 if (tsk->thread.used_vr) { in setup_tm_sigcontexts()
246 err |= __copy_to_user(v_regs, &tsk->thread.ckvr_state, in setup_tm_sigcontexts()
253 &tsk->thread.vr_state, in setup_tm_sigcontexts()
257 &tsk->thread.ckvr_state, in setup_tm_sigcontexts()
269 tsk->thread.ckvrsave = mfspr(SPRN_VRSAVE); in setup_tm_sigcontexts()
270 err |= __put_user(tsk->thread.ckvrsave, (u32 __user *)&v_regs[33]); in setup_tm_sigcontexts()
272 err |= __put_user(tsk->thread.vrsave, in setup_tm_sigcontexts()
275 err |= __put_user(tsk->thread.ckvrsave, in setup_tm_sigcontexts()
296 if (tsk->thread.used_vsr) { in setup_tm_sigcontexts()
318 &tsk->thread.ckpt_regs, GP_REGS_SIZE); in setup_tm_sigcontexts()
345 struct pt_regs *regs = tsk->thread.regs; in __unsafe_restore_sigcontext()
395 unsafe_copy_from_user(&tsk->thread.vr_state, v_regs, in __unsafe_restore_sigcontext()
397 tsk->thread.used_vr = true; in __unsafe_restore_sigcontext()
398 } else if (tsk->thread.used_vr) { in __unsafe_restore_sigcontext()
399 memset(&tsk->thread.vr_state, 0, 33 * sizeof(vector128)); in __unsafe_restore_sigcontext()
403 unsafe_get_user(tsk->thread.vrsave, (u32 __user *)&v_regs[33], efault_out); in __unsafe_restore_sigcontext()
405 tsk->thread.vrsave = 0; in __unsafe_restore_sigcontext()
407 mtspr(SPRN_VRSAVE, tsk->thread.vrsave); in __unsafe_restore_sigcontext()
420 tsk->thread.used_vsr = true; in __unsafe_restore_sigcontext()
423 tsk->thread.fp_state.fpr[i][TS_VSRLOWOFFSET] = 0; in __unsafe_restore_sigcontext()
446 struct pt_regs *regs = tsk->thread.regs; in restore_tm_sigcontexts()
458 err |= __copy_from_user(&tsk->thread.ckpt_regs, sc->gp_regs, in restore_tm_sigcontexts()
470 err |= __get_user(tsk->thread.tm_tfhar, &sc->gp_regs[PT_NIP]); in restore_tm_sigcontexts()
486 err |= __get_user(tsk->thread.ckpt_regs.ctr, in restore_tm_sigcontexts()
488 err |= __get_user(tsk->thread.ckpt_regs.link, in restore_tm_sigcontexts()
490 err |= __get_user(tsk->thread.ckpt_regs.xer, in restore_tm_sigcontexts()
492 err |= __get_user(tsk->thread.ckpt_regs.ccr, in restore_tm_sigcontexts()
519 err |= __copy_from_user(&tsk->thread.ckvr_state, v_regs, in restore_tm_sigcontexts()
521 err |= __copy_from_user(&tsk->thread.vr_state, tm_v_regs, in restore_tm_sigcontexts()
523 current->thread.used_vr = true; in restore_tm_sigcontexts()
525 else if (tsk->thread.used_vr) { in restore_tm_sigcontexts()
526 memset(&tsk->thread.vr_state, 0, 33 * sizeof(vector128)); in restore_tm_sigcontexts()
527 memset(&tsk->thread.ckvr_state, 0, 33 * sizeof(vector128)); in restore_tm_sigcontexts()
531 err |= __get_user(tsk->thread.ckvrsave, in restore_tm_sigcontexts()
533 err |= __get_user(tsk->thread.vrsave, in restore_tm_sigcontexts()
537 tsk->thread.vrsave = 0; in restore_tm_sigcontexts()
538 tsk->thread.ckvrsave = 0; in restore_tm_sigcontexts()
541 mtspr(SPRN_VRSAVE, tsk->thread.vrsave); in restore_tm_sigcontexts()
557 tsk->thread.used_vsr = true; in restore_tm_sigcontexts()
560 tsk->thread.fp_state.fpr[i][TS_VSRLOWOFFSET] = 0; in restore_tm_sigcontexts()
561 tsk->thread.ckfp_state.fpr[i][TS_VSRLOWOFFSET] = 0; in restore_tm_sigcontexts()
567 tsk->thread.tm_texasr |= TEXASR_FS; in restore_tm_sigcontexts()
597 tm_recheckpoint(&tsk->thread); in restore_tm_sigcontexts()
601 load_fp_state(&tsk->thread.fp_state); in restore_tm_sigcontexts()
602 regs_set_return_msr(regs, regs->msr | (MSR_FP | tsk->thread.fpexc_mode)); in restore_tm_sigcontexts()
605 load_vr_state(&tsk->thread.vr_state); in restore_tm_sigcontexts()
830 regs_set_return_msr(current->thread.regs, in SYSCALL_DEFINE0()
831 current->thread.regs->msr & ~MSR_TS_MASK); in SYSCALL_DEFINE0()
863 struct pt_regs *regs = tsk->thread.regs; in handle_rt_signal64()
921 tsk->thread.fp_state.fpscr = 0; in handle_rt_signal64()