Lines Matching full:sf

85 	struct signal_frame32 __user *sf;  in do_sigreturn32()  local
100 sf = (struct signal_frame32 __user *) regs->u_regs[UREG_FP]; in do_sigreturn32()
103 if (invalid_frame_pointer(sf, sizeof(*sf))) in do_sigreturn32()
106 if (get_user(ufp, &sf->info.si_regs.u_regs[UREG_FP])) in do_sigreturn32()
112 if (__get_user(pc, &sf->info.si_regs.pc) || in do_sigreturn32()
113 __get_user(npc, &sf->info.si_regs.npc)) in do_sigreturn32()
127 err = __get_user(regs->y, &sf->info.si_regs.y); in do_sigreturn32()
128 err |= __get_user(psr, &sf->info.si_regs.psr); in do_sigreturn32()
131 err |= __get_user(regs->u_regs[i], &sf->info.si_regs.u_regs[i]); in do_sigreturn32()
133 err |= __get_user(i, &sf->v8plus.g_upper[0]); in do_sigreturn32()
138 err |= __get_user(((u32 *)regs->u_regs)[2*i], &sf->v8plus.g_upper[i]); in do_sigreturn32()
139 err |= __get_user(asi, &sf->v8plus.asi); in do_sigreturn32()
152 err |= __get_user(fpu_save, &sf->fpu_save); in do_sigreturn32()
155 err |= __get_user(rwin_save, &sf->rwin_save); in do_sigreturn32()
160 err |= __get_user(seta.sig[0], &sf->info.si_mask); in do_sigreturn32()
161 err |= copy_from_user(&seta.sig[1], &sf->extramask, in do_sigreturn32()
176 struct rt_signal_frame32 __user *sf; in do_rt_sigreturn32() local
188 sf = (struct rt_signal_frame32 __user *) regs->u_regs[UREG_FP]; in do_rt_sigreturn32()
191 if (invalid_frame_pointer(sf, sizeof(*sf))) in do_rt_sigreturn32()
194 if (get_user(ufp, &sf->regs.u_regs[UREG_FP])) in do_rt_sigreturn32()
200 if (__get_user(pc, &sf->regs.pc) || in do_rt_sigreturn32()
201 __get_user(npc, &sf->regs.npc)) in do_rt_sigreturn32()
215 err = __get_user(regs->y, &sf->regs.y); in do_rt_sigreturn32()
216 err |= __get_user(psr, &sf->regs.psr); in do_rt_sigreturn32()
219 err |= __get_user(regs->u_regs[i], &sf->regs.u_regs[i]); in do_rt_sigreturn32()
221 err |= __get_user(i, &sf->v8plus.g_upper[0]); in do_rt_sigreturn32()
226 err |= __get_user(((u32 *)regs->u_regs)[2*i], &sf->v8plus.g_upper[i]); in do_rt_sigreturn32()
227 err |= __get_user(asi, &sf->v8plus.asi); in do_rt_sigreturn32()
240 err |= __get_user(fpu_save, &sf->fpu_save); in do_rt_sigreturn32()
243 err |= get_compat_sigset(&set, &sf->mask); in do_rt_sigreturn32()
244 err |= compat_restore_altstack(&sf->stack); in do_rt_sigreturn32()
248 err |= __get_user(rwin_save, &sf->rwin_save); in do_rt_sigreturn32()
353 struct signal_frame32 __user *sf; in setup_frame32() local
366 sigframe_size = sizeof(*sf); in setup_frame32()
372 sf = (struct signal_frame32 __user *) in setup_frame32()
375 if (invalid_frame_pointer(sf, sigframe_size)) { in setup_frame32()
378 current->comm, current->pid, (unsigned long)sf, in setup_frame32()
384 tail = (sf + 1); in setup_frame32()
391 err = put_user(regs->tpc, &sf->info.si_regs.pc); in setup_frame32()
392 err |= __put_user(regs->tnpc, &sf->info.si_regs.npc); in setup_frame32()
393 err |= __put_user(regs->y, &sf->info.si_regs.y); in setup_frame32()
397 err |= __put_user(psr, &sf->info.si_regs.psr); in setup_frame32()
399 err |= __put_user(regs->u_regs[i], &sf->info.si_regs.u_regs[i]); in setup_frame32()
400 err |= __put_user(sizeof(siginfo_extra_v8plus_t), &sf->extra_size); in setup_frame32()
401 err |= __put_user(SIGINFO_EXTRA_V8PLUS_MAGIC, &sf->v8plus.g_upper[0]); in setup_frame32()
404 &sf->v8plus.g_upper[i]); in setup_frame32()
406 &sf->v8plus.asi); in setup_frame32()
412 err |= __put_user((u64)fp, &sf->fpu_save); in setup_frame32()
414 err |= __put_user(0, &sf->fpu_save); in setup_frame32()
420 err |= __put_user((u64)rwp, &sf->rwin_save); in setup_frame32()
423 err |= __put_user(0, &sf->rwin_save); in setup_frame32()
432 err |= __put_user(seta.sig[0], &sf->info.si_mask); in setup_frame32()
433 err |= __copy_to_user(sf->extramask, &seta.sig[1], in setup_frame32()
437 err |= raw_copy_in_user((u32 __user *)sf, in setup_frame32()
445 err |= __put_user(rp->locals[i], &sf->ss.locals[i]); in setup_frame32()
447 err |= __put_user(rp->ins[i], &sf->ss.ins[i]); in setup_frame32()
448 err |= __put_user(rp->ins[6], &sf->ss.fp); in setup_frame32()
449 err |= __put_user(rp->ins[7], &sf->ss.callers_pc); in setup_frame32()
455 regs->u_regs[UREG_FP] = (unsigned long) sf; in setup_frame32()
457 regs->u_regs[UREG_I1] = (unsigned long) &sf->info; in setup_frame32()
458 regs->u_regs[UREG_I2] = (unsigned long) &sf->info; in setup_frame32()
472 unsigned long address = ((unsigned long)&(sf->insns[0])); in setup_frame32()
474 regs->u_regs[UREG_I7] = (unsigned long) (&(sf->insns[0]) - 2); in setup_frame32()
476 err = __put_user(0x821020d8, &sf->insns[0]); /*mov __NR_sigreturn, %g1*/ in setup_frame32()
477 err |= __put_user(0x91d02010, &sf->insns[1]); /*t 0x10*/ in setup_frame32()
488 struct rt_signal_frame32 __user *sf; in setup_rt_frame32() local
500 sigframe_size = sizeof(*sf); in setup_rt_frame32()
506 sf = (struct rt_signal_frame32 __user *) in setup_rt_frame32()
509 if (invalid_frame_pointer(sf, sigframe_size)) { in setup_rt_frame32()
512 current->comm, current->pid, (unsigned long)sf, in setup_rt_frame32()
518 tail = (sf + 1); in setup_rt_frame32()
525 err = put_user(regs->tpc, &sf->regs.pc); in setup_rt_frame32()
526 err |= __put_user(regs->tnpc, &sf->regs.npc); in setup_rt_frame32()
527 err |= __put_user(regs->y, &sf->regs.y); in setup_rt_frame32()
531 err |= __put_user(psr, &sf->regs.psr); in setup_rt_frame32()
533 err |= __put_user(regs->u_regs[i], &sf->regs.u_regs[i]); in setup_rt_frame32()
534 err |= __put_user(sizeof(siginfo_extra_v8plus_t), &sf->extra_size); in setup_rt_frame32()
535 err |= __put_user(SIGINFO_EXTRA_V8PLUS_MAGIC, &sf->v8plus.g_upper[0]); in setup_rt_frame32()
538 &sf->v8plus.g_upper[i]); in setup_rt_frame32()
540 &sf->v8plus.asi); in setup_rt_frame32()
546 err |= __put_user((u64)fp, &sf->fpu_save); in setup_rt_frame32()
548 err |= __put_user(0, &sf->fpu_save); in setup_rt_frame32()
554 err |= __put_user((u64)rwp, &sf->rwin_save); in setup_rt_frame32()
557 err |= __put_user(0, &sf->rwin_save); in setup_rt_frame32()
561 err |= copy_siginfo_to_user32(&sf->info, &ksig->info); in setup_rt_frame32()
564 err |= __compat_save_altstack(&sf->stack, regs->u_regs[UREG_FP]); in setup_rt_frame32()
566 err |= put_compat_sigset(&sf->mask, oldset, sizeof(compat_sigset_t)); in setup_rt_frame32()
569 err |= raw_copy_in_user((u32 __user *)sf, in setup_rt_frame32()
577 err |= __put_user(rp->locals[i], &sf->ss.locals[i]); in setup_rt_frame32()
579 err |= __put_user(rp->ins[i], &sf->ss.ins[i]); in setup_rt_frame32()
580 err |= __put_user(rp->ins[6], &sf->ss.fp); in setup_rt_frame32()
581 err |= __put_user(rp->ins[7], &sf->ss.callers_pc); in setup_rt_frame32()
587 regs->u_regs[UREG_FP] = (unsigned long) sf; in setup_rt_frame32()
589 regs->u_regs[UREG_I1] = (unsigned long) &sf->info; in setup_rt_frame32()
590 regs->u_regs[UREG_I2] = (unsigned long) &sf->regs; in setup_rt_frame32()
604 unsigned long address = ((unsigned long)&(sf->insns[0])); in setup_rt_frame32()
606 regs->u_regs[UREG_I7] = (unsigned long) (&(sf->insns[0]) - 2); in setup_rt_frame32()
609 err |= __put_user(0x82102065, &sf->insns[0]); in setup_rt_frame32()
612 err |= __put_user(0x91d02010, &sf->insns[1]); in setup_rt_frame32()