Commit f7a7b153 authored by Paul Mundt's avatar Paul Mundt
Browse files

sh: Move in the SH-5 signal trampoline impl.



Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 76168c21
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
extra-y	:= head.o init_task.o vmlinux.lds

obj-y	:= debugtraps.o io.o io_generic.o irq.o machvec.o process_32.o \
	   ptrace_32.o semaphore.o setup.o signal.o sys_sh.o syscalls.o \
	   ptrace_32.o semaphore.o setup.o signal_32.o sys_sh.o syscalls.o \
	   time.o topology.o traps.o

obj-y				+= cpu/ timers/
+1 −1
Original line number Diff line number Diff line
extra-y	:= head.o init_task.o vmlinux.lds

obj-y	:= debugtraps.o io.o io_generic.o irq.o machvec.o process_64.o \
	   ptrace_64.o semaphore.o setup.o signal.o sys_sh.o syscalls.o \
	   ptrace_64.o semaphore.o setup.o signal_64.o sys_sh.o syscalls.o \
	   time.o topology.o traps.o

obj-y				+= cpu/ timers/
+7 −3
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@
#include <asm/ucontext.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>

#include <asm/cacheflush.h>

#define REG_RET 9
#define REG_ARG1 2
@@ -227,10 +227,14 @@ setup_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc)
#else
static inline int
restore_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc)
{}
{
	return 0;
}
static inline int
setup_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc)
{}
{
	return 0;
}
#endif

static int
+13 −0
Original line number Diff line number Diff line
@@ -4,6 +4,18 @@
struct sigcontext {
	unsigned long	oldmask;

#if defined(__SH5__) || defined(CONFIG_CPU_SH5)
	/* CPU registers */
	unsigned long long sc_regs[63];
	unsigned long long sc_tregs[8];
	unsigned long long sc_pc;
	unsigned long long sc_sr;

	/* FPU registers */
	unsigned long long sc_fpregs[32];
	unsigned int sc_fpscr;
	unsigned int sc_fpvalid;
#else
	/* CPU registers */
	unsigned long sc_regs[16];
	unsigned long sc_pc;
@@ -21,6 +33,7 @@ struct sigcontext {
	unsigned int sc_fpul;
	unsigned int sc_ownedfp;
#endif
#endif
};

#endif /* __ASM_SH_SIGCONTEXT_H */