Lines Matching refs:frame
234 static int compat_preserve_vfp_context(struct compat_vfp_sigframe __user *frame) in compat_preserve_vfp_context() argument
250 __put_user_error(magic, &frame->magic, err); in compat_preserve_vfp_context()
251 __put_user_error(size, &frame->size, err); in compat_preserve_vfp_context()
257 for (i = 0; i < ARRAY_SIZE(frame->ufp.fpregs); i += 2) { in compat_preserve_vfp_context()
262 __put_user_error(vreg.lo, &frame->ufp.fpregs[i], err); in compat_preserve_vfp_context()
263 __put_user_error(vreg.hi, &frame->ufp.fpregs[i + 1], err); in compat_preserve_vfp_context()
269 __put_user_error(fpscr, &frame->ufp.fpscr, err); in compat_preserve_vfp_context()
276 __put_user_error(fpexc, &frame->ufp_exc.fpexc, err); in compat_preserve_vfp_context()
277 __put_user_error(0, &frame->ufp_exc.fpinst, err); in compat_preserve_vfp_context()
278 __put_user_error(0, &frame->ufp_exc.fpinst2, err); in compat_preserve_vfp_context()
283 static int compat_restore_vfp_context(struct compat_vfp_sigframe __user *frame) in compat_restore_vfp_context() argument
291 __get_user_error(magic, &frame->magic, err); in compat_restore_vfp_context()
292 __get_user_error(size, &frame->size, err); in compat_restore_vfp_context()
300 for (i = 0; i < ARRAY_SIZE(frame->ufp.fpregs); i += 2) { in compat_restore_vfp_context()
303 __get_user_error(vreg.lo, &frame->ufp.fpregs[i], err); in compat_restore_vfp_context()
304 __get_user_error(vreg.hi, &frame->ufp.fpregs[i + 1], err); in compat_restore_vfp_context()
309 __get_user_error(fpscr, &frame->ufp.fpscr, err); in compat_restore_vfp_context()
370 struct compat_sigframe __user *frame; in compat_sys_sigreturn() local
383 frame = (struct compat_sigframe __user *)regs->compat_sp; in compat_sys_sigreturn()
385 if (!access_ok(VERIFY_READ, frame, sizeof (*frame))) in compat_sys_sigreturn()
388 if (compat_restore_sigframe(regs, frame)) in compat_sys_sigreturn()
404 struct compat_rt_sigframe __user *frame; in compat_sys_rt_sigreturn() local
417 frame = (struct compat_rt_sigframe __user *)regs->compat_sp; in compat_sys_rt_sigreturn()
419 if (!access_ok(VERIFY_READ, frame, sizeof (*frame))) in compat_sys_rt_sigreturn()
422 if (compat_restore_sigframe(regs, &frame->sig)) in compat_sys_rt_sigreturn()
425 if (compat_restore_altstack(&frame->sig.uc.uc_stack)) in compat_sys_rt_sigreturn()
444 void __user *frame; in compat_get_sigframe() local
449 frame = compat_ptr((compat_uptr_t)((sp - framesize) & ~7)); in compat_get_sigframe()
454 if (!access_ok(VERIFY_WRITE, frame, framesize)) in compat_get_sigframe()
455 frame = NULL; in compat_get_sigframe()
457 return frame; in compat_get_sigframe()
461 compat_ulong_t __user *rc, void __user *frame, in compat_setup_return() argument
498 regs->compat_sp = ptr_to_compat(frame); in compat_setup_return()
552 struct compat_rt_sigframe __user *frame; in compat_setup_rt_frame() local
555 frame = compat_get_sigframe(ksig, regs, sizeof(*frame)); in compat_setup_rt_frame()
557 if (!frame) in compat_setup_rt_frame()
560 err |= copy_siginfo_to_user32(&frame->info, &ksig->info); in compat_setup_rt_frame()
562 __put_user_error(0, &frame->sig.uc.uc_flags, err); in compat_setup_rt_frame()
563 __put_user_error(0, &frame->sig.uc.uc_link, err); in compat_setup_rt_frame()
565 err |= __compat_save_altstack(&frame->sig.uc.uc_stack, regs->compat_sp); in compat_setup_rt_frame()
567 err |= compat_setup_sigframe(&frame->sig, regs, set); in compat_setup_rt_frame()
570 compat_setup_return(regs, &ksig->ka, frame->sig.retcode, frame, usig); in compat_setup_rt_frame()
571 regs->regs[1] = (compat_ulong_t)(unsigned long)&frame->info; in compat_setup_rt_frame()
572 regs->regs[2] = (compat_ulong_t)(unsigned long)&frame->sig.uc; in compat_setup_rt_frame()
581 struct compat_sigframe __user *frame; in compat_setup_frame() local
584 frame = compat_get_sigframe(ksig, regs, sizeof(*frame)); in compat_setup_frame()
586 if (!frame) in compat_setup_frame()
589 __put_user_error(0x5ac3c35a, &frame->uc.uc_flags, err); in compat_setup_frame()
591 err |= compat_setup_sigframe(frame, regs, set); in compat_setup_frame()
593 compat_setup_return(regs, &ksig->ka, frame->retcode, frame, usig); in compat_setup_frame()