Lines Matching refs:regs

41 rt_restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *pr0)  in rt_restore_sigcontext()  argument
49 #define RESTORE(x) err |= __get_user(regs->x, &sc->sc_##x) in rt_restore_sigcontext()
74 regs->orig_p0 = -1; /* disable syscall checks */ in rt_restore_sigcontext()
76 *pr0 = regs->r0; in rt_restore_sigcontext()
82 struct pt_regs *regs = current_pt_regs(); in sys_rt_sigreturn() local
95 if (rt_restore_sigcontext(regs, &frame->uc.uc_mcontext, &r0)) in sys_rt_sigreturn()
108 static inline int rt_setup_sigcontext(struct sigcontext *sc, struct pt_regs *regs) in rt_setup_sigcontext() argument
112 #define SETUP(x) err |= __put_user(regs->x, &sc->sc_##x) in rt_setup_sigcontext()
147 setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) in setup_rt_frame() argument
164 err |= rt_setup_sigcontext(&frame->uc.uc_mcontext, regs); in setup_rt_frame()
179 regs->pc = pc; in setup_rt_frame()
180 regs->p3 = p3; in setup_rt_frame()
182 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame()
184 regs->rets = SIGRETURN_STUB; in setup_rt_frame()
186 regs->r0 = frame->sig; in setup_rt_frame()
187 regs->r1 = (unsigned long)(&frame->info); in setup_rt_frame()
188 regs->r2 = (unsigned long)(&frame->uc); in setup_rt_frame()
194 handle_restart(struct pt_regs *regs, struct k_sigaction *ka, int has_handler) in handle_restart() argument
196 switch (regs->r0) { in handle_restart()
200 regs->r0 = -EINTR; in handle_restart()
205 regs->r0 = -EINTR; in handle_restart()
211 regs->p0 = regs->orig_p0; in handle_restart()
212 regs->r0 = regs->orig_r0; in handle_restart()
213 regs->pc -= 2; in handle_restart()
217 regs->p0 = __NR_restart_syscall; in handle_restart()
218 regs->pc -= 2; in handle_restart()
227 handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
232 if (regs->orig_p0 >= 0) in handle_signal()
234 handle_restart(regs, &ksig->ka, 1); in handle_signal()
237 ret = setup_rt_frame(ksig, sigmask_to_save(), regs); in handle_signal()
251 asmlinkage void do_signal(struct pt_regs *regs) in do_signal() argument
255 current->thread.esp0 = (unsigned long)regs; in do_signal()
259 handle_signal(&ksig, regs); in do_signal()
264 if (regs->orig_p0 >= 0) in do_signal()
266 handle_restart(regs, NULL, 0); in do_signal()
276 asmlinkage void do_notify_resume(struct pt_regs *regs) in do_notify_resume() argument
279 do_signal(regs); in do_notify_resume()
283 tracehook_notify_resume(regs); in do_notify_resume()