Lines Matching refs:sr

113 __unsafe_restore_general_regs(struct pt_regs *regs, struct mcontext __user *sr)  in __unsafe_restore_general_regs()  argument
121 unsafe_get_user(gregs[i], &sr->mc_gregs[i], failed); in __unsafe_restore_general_regs()
156 int __unsafe_restore_general_regs(struct pt_regs *regs, struct mcontext __user *sr) in __unsafe_restore_general_regs() argument
159 unsafe_copy_from_user(regs, &sr->mc_gregs, PT_MSR * sizeof(elf_greg_t), failed); in __unsafe_restore_general_regs()
162 unsafe_copy_from_user(&regs->orig_gpr3, &sr->mc_gregs[PT_ORIG_R3], in __unsafe_restore_general_regs()
458 struct mcontext __user *sr, int sig) in restore_user_regs() argument
466 if (!user_read_access_begin(sr, sizeof(*sr))) in restore_user_regs()
474 unsafe_restore_general_regs(regs, sr, failed); in restore_user_regs()
476 unsafe_get_user(msr, &sr->mc_gregs[PT_MSR], failed); in restore_user_regs()
492 unsafe_copy_from_user(&current->thread.vr_state, &sr->mc_vregs, in restore_user_regs()
493 sizeof(sr->mc_vregs), failed); in restore_user_regs()
500 unsafe_get_user(current->thread.vrsave, (u32 __user *)&sr->mc_vregs[32], failed); in restore_user_regs()
504 unsafe_copy_fpr_from_user(current, &sr->mc_fregs, failed); in restore_user_regs()
517 unsafe_copy_vsx_from_user(current, &sr->mc_vsregs, failed); in restore_user_regs()
535 unsafe_copy_from_user(current->thread.evr, &sr->mc_vregs, in restore_user_regs()
542 unsafe_get_user(current->thread.spefscr, (u32 __user *)&sr->mc_vregs + ELF_NEVRREG, failed); in restore_user_regs()
560 struct mcontext __user *sr, in restore_tm_user_regs() argument
575 if (!user_read_access_begin(sr, sizeof(*sr))) in restore_tm_user_regs()
578 unsafe_restore_general_regs(&current->thread.ckpt_regs, sr, failed); in restore_tm_user_regs()
579 unsafe_get_user(current->thread.tm_tfhar, &sr->mc_gregs[PT_NIP], failed); in restore_tm_user_regs()
580 unsafe_get_user(msr, &sr->mc_gregs[PT_MSR], failed); in restore_tm_user_regs()
588 unsafe_copy_from_user(&current->thread.ckvr_state, &sr->mc_vregs, in restore_tm_user_regs()
589 sizeof(sr->mc_vregs), failed); in restore_tm_user_regs()
600 (u32 __user *)&sr->mc_vregs[32], failed); in restore_tm_user_regs()
606 unsafe_copy_fpr_from_user(current, &sr->mc_fregs, failed); in restore_tm_user_regs()
614 unsafe_copy_ckvsx_from_user(current, &sr->mc_vsregs, failed); in restore_tm_user_regs()
632 sizeof(sr->mc_vregs), failed); in restore_tm_user_regs()
706 static long restore_tm_user_regs(struct pt_regs *regs, struct mcontext __user *sr, in restore_tm_user_regs() argument
1291 struct mcontext __user *sr; in COMPAT_SYSCALL_DEFINE0() local
1329 sr = (struct mcontext __user *)from_user_ptr(sigctx.regs); in COMPAT_SYSCALL_DEFINE0()
1330 if (restore_user_regs(regs, sr, 1)) { in COMPAT_SYSCALL_DEFINE0()
1331 signal_fault(current, regs, "sys_sigreturn", sr); in COMPAT_SYSCALL_DEFINE0()