19 #include <linux/sched.h>
22 #include <linux/kernel.h>
23 #include <linux/signal.h>
24 #include <linux/errno.h>
25 #include <linux/wait.h>
26 #include <linux/ptrace.h>
29 #include <linux/bitops.h>
33 #include <asm/cacheflush.h>
36 #include <asm/uaccess.h>
37 #include <asm/ucontext.h>
39 #include <asm/cpu-features.h>
48 #define __NR_N32_restart_syscall 6214
80 compat_sigset_t
__user *unewset;
86 sigsetsize = regs.regs[5];
90 unewset = (compat_sigset_t
__user *) regs.regs[4];
109 if (__copy_conv_sigset_from_user(&
set, &frame->
rs_uc.uc_sigmask))
123 st.
ss_sp = (
void __user *)(
long)
sp;
151 static int setup_rt_frame_n32(
void *sig_return,
struct k_sigaction *ka,
170 &frame->
rs_uc.uc_stack.ss_sp);
172 &frame->
rs_uc.uc_stack.ss_flags);
174 &frame->
rs_uc.uc_stack.ss_size);
176 err |= __copy_conv_sigset_to_user(&frame->
rs_uc.uc_sigmask,
set);
191 regs->
regs[ 4] = signr;
193 regs->
regs[ 6] = (
unsigned long) &frame->
rs_uc;
194 regs->
regs[29] = (
unsigned long) frame;
195 regs->
regs[31] = (
unsigned long) sig_return;
198 DEBUGP(
"SIG deliver (%s:%d): sp=0x%p pc=0x%lx ra=0x%lx\n",
210 .setup_rt_frame = setup_rt_frame_n32,
211 .rt_signal_return_offset =