Lines Matching refs:regs
75 struct pt_regs *regs = current_pt_regs(); in restore_sigcontext() local
85 #define COPY(r) do { err |= get_user(regs->r, &usc->sc_##r); } while (0) in restore_sigcontext()
91 ccr = regs->ccr & 0x10; in restore_sigcontext()
94 regs->ccr &= 0xef; in restore_sigcontext()
95 regs->ccr |= ccr; in restore_sigcontext()
96 regs->orig_er0 = -1; /* disable syscall checks */ in restore_sigcontext()
132 static int setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, in setup_sigcontext() argument
137 err |= __put_user(regs->er0, &sc->sc_er0); in setup_sigcontext()
138 err |= __put_user(regs->er1, &sc->sc_er1); in setup_sigcontext()
139 err |= __put_user(regs->er2, &sc->sc_er2); in setup_sigcontext()
140 err |= __put_user(regs->er3, &sc->sc_er3); in setup_sigcontext()
141 err |= __put_user(regs->er4, &sc->sc_er4); in setup_sigcontext()
142 err |= __put_user(regs->er5, &sc->sc_er5); in setup_sigcontext()
143 err |= __put_user(regs->er6, &sc->sc_er6); in setup_sigcontext()
145 err |= __put_user(regs->pc, &sc->sc_pc); in setup_sigcontext()
146 err |= __put_user(regs->ccr, &sc->sc_ccr); in setup_sigcontext()
153 get_sigframe(struct ksignal *ksig, struct pt_regs *regs, size_t frame_size) in get_sigframe() argument
159 struct pt_regs *regs) in setup_rt_frame() argument
165 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
177 err |= setup_sigcontext(&frame->uc.uc_mcontext, regs, set->sig[0]); in setup_rt_frame()
200 regs->pc = (unsigned long) ksig->ka.sa.sa_handler; in setup_rt_frame()
201 regs->er0 = ksig->sig; in setup_rt_frame()
202 regs->er1 = (unsigned long)&(frame->info); in setup_rt_frame()
203 regs->er2 = (unsigned long)&frame->uc; in setup_rt_frame()
204 regs->er5 = current->mm->start_data; /* GOT base */ in setup_rt_frame()
210 handle_restart(struct pt_regs *regs, struct k_sigaction *ka) in handle_restart() argument
212 switch (regs->er0) { in handle_restart()
216 regs->er0 = -EINTR; in handle_restart()
220 regs->er0 = __NR_restart_syscall; in handle_restart()
221 regs->pc -= 2; in handle_restart()
223 regs->er0 = -EINTR; in handle_restart()
227 regs->er0 = -EINTR; in handle_restart()
233 regs->er0 = regs->orig_er0; in handle_restart()
234 regs->pc -= 2; in handle_restart()
243 handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
248 if (regs->orig_er0 >= 0) in handle_signal()
249 handle_restart(regs, &ksig->ka); in handle_signal()
251 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
261 static void do_signal(struct pt_regs *regs) in do_signal() argument
265 current->thread.esp0 = (unsigned long) regs; in do_signal()
269 handle_signal(&ksig, regs); in do_signal()
273 if (regs->orig_er0 >= 0) in do_signal()
274 handle_restart(regs, NULL); in do_signal()
280 asmlinkage void do_notify_resume(struct pt_regs *regs, u32 thread_info_flags) in do_notify_resume() argument
283 do_signal(regs); in do_notify_resume()
287 tracehook_notify_resume(regs); in do_notify_resume()