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

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
diff --git a/arch/sh/kernel/Makefile_32 b/arch/sh/kernel/Makefile_32
index 54b5a2d..bad6bf5 100644
--- a/arch/sh/kernel/Makefile_32
+++ b/arch/sh/kernel/Makefile_32
@@ -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/
diff --git a/arch/sh/kernel/Makefile_64 b/arch/sh/kernel/Makefile_64
index 7dc995d..5f2711a 100644
--- a/arch/sh/kernel/Makefile_64
+++ b/arch/sh/kernel/Makefile_64
@@ -1,7 +1,7 @@
 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/
diff --git a/arch/sh/kernel/signal.c b/arch/sh/kernel/signal_32.c
similarity index 100%
rename from arch/sh/kernel/signal.c
rename to arch/sh/kernel/signal_32.c
diff --git a/arch/sh64/kernel/signal.c b/arch/sh/kernel/signal_64.c
similarity index 99%
rename from arch/sh64/kernel/signal.c
rename to arch/sh/kernel/signal_64.c
index 79fc48c..96ba81f 100644
--- a/arch/sh64/kernel/signal.c
+++ b/arch/sh/kernel/signal_64.c
@@ -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 @@
 #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
diff --git a/include/asm-sh/sigcontext.h b/include/asm-sh/sigcontext.h
index eb8effb..8583143 100644
--- a/include/asm-sh/sigcontext.h
+++ b/include/asm-sh/sigcontext.h
@@ -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 @@
 	unsigned int sc_fpul;
 	unsigned int sc_ownedfp;
 #endif
+#endif
 };
 
 #endif /* __ASM_SH_SIGCONTEXT_H */