Lines Matching refs:ksig
206 get_sigframe(struct ksignal *ksig, size_t frame_size) in get_sigframe() argument
208 unsigned long sp = sigsp(rdusp(), ksig); in get_sigframe()
225 static int setup_frame(struct ksignal *ksig, sigset_t *set, in setup_frame() argument
232 frame = get_sigframe(ksig, sizeof(*frame)); in setup_frame()
250 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_frame()
251 return_ip = (unsigned long)ksig->ka.sa.sa_restorer; in setup_frame()
266 regs->irp = (unsigned long) ksig->ka.sa.sa_handler; /* what we enter NOW */ in setup_frame()
268 regs->r10 = ksig->sig; /* first argument is signo */ in setup_frame()
277 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument
284 frame = get_sigframe(ksig, sizeof(*frame)); in setup_rt_frame()
291 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
309 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_rt_frame()
310 return_ip = (unsigned long)ksig->ka.sa.sa_restorer; in setup_rt_frame()
327 regs->irp = (unsigned long) ksig->ka.sa.sa_handler; in setup_rt_frame()
331 regs->r10 = ksig->sig; in setup_rt_frame()
347 static inline void handle_signal(int canrestart, struct ksignal *ksig, in handle_signal() argument
369 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal()
382 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal()
383 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
385 ret = setup_frame(ksig, oldset, regs); in handle_signal()
387 signal_setup_done(ret, ksig, 0); in handle_signal()
404 struct ksignal ksig; in do_signal() local
415 if (get_signal(&ksig)) { in do_signal()
417 handle_signal(canrestart, &ksig, regs); in do_signal()