Lines Matching refs:regs

59 static int restore_sigcontext(struct pt_regs *regs,  in restore_sigcontext()  argument
64 #define COPY(x) {err |= __get_user(regs->x, &sc->regs.x); } in restore_sigcontext()
78 *rval_p = regs->r3; in restore_sigcontext()
83 asmlinkage long sys_rt_sigreturn(struct pt_regs *regs) in sys_rt_sigreturn() argument
86 (struct rt_sigframe __user *)(regs->r1); in sys_rt_sigreturn()
102 if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &rval)) in sys_rt_sigreturn()
120 setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, in setup_sigcontext() argument
125 #define COPY(x) {err |= __put_user(regs->x, &sc->regs.x); } in setup_sigcontext()
148 get_sigframe(struct ksignal *ksig, struct pt_regs *regs, size_t frame_size) in get_sigframe() argument
151 unsigned long sp = sigsp(regs->r1, ksig); in get_sigframe()
157 struct pt_regs *regs) in setup_rt_frame() argument
167 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
178 err |= __save_altstack(&frame->uc.uc_stack, regs->r1); in setup_rt_frame()
180 regs, set->sig[0]); in setup_rt_frame()
194 regs->r15 = ((unsigned long)frame->tramp)-8; in setup_rt_frame()
223 regs->r1 = (unsigned long) frame; in setup_rt_frame()
226 regs->r5 = sig; /* arg 0: signum */ in setup_rt_frame()
227 regs->r6 = (unsigned long) &frame->info; /* arg 1: siginfo */ in setup_rt_frame()
228 regs->r7 = (unsigned long) &frame->uc; /* arg2: ucontext */ in setup_rt_frame()
230 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame()
234 current->comm, current->pid, frame, regs->pc); in setup_rt_frame()
242 handle_restart(struct pt_regs *regs, struct k_sigaction *ka, int has_handler) in handle_restart() argument
244 switch (regs->r3) { in handle_restart()
249 regs->r3 = -EINTR; in handle_restart()
253 regs->r3 = -EINTR; in handle_restart()
260 regs->pc -= 4; in handle_restart()
270 handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
276 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
290 static void do_signal(struct pt_regs *regs, int in_syscall) in do_signal() argument
295 pr_info("do signal: %p %d\n", regs, in_syscall); in do_signal()
296 pr_info("do signal2: %lx %lx %ld [%lx]\n", regs->pc, regs->r1, in do_signal()
297 regs->r12, current_thread_info()->flags); in do_signal()
303 handle_restart(regs, &ksig.ka, 1); in do_signal()
304 handle_signal(&ksig, regs); in do_signal()
309 handle_restart(regs, NULL, 0); in do_signal()
318 asmlinkage void do_notify_resume(struct pt_regs *regs, int in_syscall) in do_notify_resume() argument
321 do_signal(regs, in_syscall); in do_notify_resume()
324 tracehook_notify_resume(regs); in do_notify_resume()