Lines Matching refs:frame
30 static int preserve_iwmmxt_context(struct iwmmxt_sigframe __user *frame) in preserve_iwmmxt_context() argument
32 char kbuf[sizeof(*frame) + 8]; in preserve_iwmmxt_context()
56 err = __copy_to_user(frame, kframe, sizeof(*kframe)); in preserve_iwmmxt_context()
63 struct iwmmxt_sigframe __user *frame = in restore_iwmmxt_context() local
65 char kbuf[sizeof(*frame) + 8]; in restore_iwmmxt_context()
70 if (__copy_from_user(kframe, frame, sizeof(*frame))) in restore_iwmmxt_context()
101 static int preserve_vfp_context(struct vfp_sigframe __user *frame) in preserve_vfp_context() argument
114 return __copy_to_user(frame, &kframe, sizeof(kframe)); in preserve_vfp_context()
119 struct vfp_sigframe frame; in restore_vfp_context() local
122 err = __copy_from_user(&frame, *auxp, sizeof(frame)); in restore_vfp_context()
126 if (frame.magic != VFP_MAGIC || frame.size != VFP_STORAGE_SIZE) in restore_vfp_context()
129 *auxp += sizeof(frame); in restore_vfp_context()
130 return vfp_restore_user_hwstate(&frame.ufp, &frame.ufp_exc); in restore_vfp_context()
188 struct sigframe __user *frame; in sys_sigreturn() local
201 frame = (struct sigframe __user *)regs->ARM_sp; in sys_sigreturn()
203 if (!access_ok(frame, sizeof (*frame))) in sys_sigreturn()
206 if (restore_sigframe(regs, frame)) in sys_sigreturn()
218 struct rt_sigframe __user *frame; in sys_rt_sigreturn() local
231 frame = (struct rt_sigframe __user *)regs->ARM_sp; in sys_rt_sigreturn()
233 if (!access_ok(frame, sizeof (*frame))) in sys_rt_sigreturn()
236 if (restore_sigframe(regs, &frame->sig)) in sys_rt_sigreturn()
239 if (restore_altstack(&frame->sig.uc.uc_stack)) in sys_rt_sigreturn()
303 void __user *frame; in get_sigframe() local
308 frame = (void __user *)((sp - framesize) & ~7); in get_sigframe()
313 if (!access_ok(frame, framesize)) in get_sigframe()
314 frame = NULL; in get_sigframe()
316 return frame; in get_sigframe()
321 unsigned long __user *rc, void __user *frame) in setup_return() argument
435 regs->ARM_sp = (unsigned long)frame; in setup_return()
448 struct sigframe __user *frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_frame() local
451 if (!frame) in setup_frame()
457 err = __put_user(0x5ac3c35a, &frame->uc.uc_flags); in setup_frame()
459 err |= setup_sigframe(frame, regs, set); in setup_frame()
461 err = setup_return(regs, ksig, frame->retcode, frame); in setup_frame()
469 struct rt_sigframe __user *frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame() local
472 if (!frame) in setup_rt_frame()
475 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
477 err |= __put_user(0, &frame->sig.uc.uc_flags); in setup_rt_frame()
478 err |= __put_user(NULL, &frame->sig.uc.uc_link); in setup_rt_frame()
480 err |= __save_altstack(&frame->sig.uc.uc_stack, regs->ARM_sp); in setup_rt_frame()
481 err |= setup_sigframe(&frame->sig, regs, set); in setup_rt_frame()
483 err = setup_return(regs, ksig, frame->sig.retcode, frame); in setup_rt_frame()
491 regs->ARM_r1 = (unsigned long)&frame->info; in setup_rt_frame()
492 regs->ARM_r2 = (unsigned long)&frame->sig.uc; in setup_rt_frame()