aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-11-10 06:07:57 -0500
committerPaul Mundt <lethal@linux-sh.org>2008-01-27 23:18:43 -0500
commitf7a7b15344e2bccdd1c73d42685edfe7d43ec5b7 (patch)
tree87280639daf814c9a818994926785faf9daded88
parent76168c21b78a0bd684d4687d14a2bd76bcf92762 (diff)
sh: Move in the SH-5 signal trampoline impl.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--arch/sh/kernel/Makefile_322
-rw-r--r--arch/sh/kernel/Makefile_642
-rw-r--r--arch/sh/kernel/signal_32.c (renamed from arch/sh/kernel/signal.c)0
-rw-r--r--arch/sh/kernel/signal_64.c (renamed from arch/sh64/kernel/signal.c)10
-rw-r--r--include/asm-sh/sigcontext.h13
5 files changed, 22 insertions, 5 deletions
diff --git a/arch/sh/kernel/Makefile_32 b/arch/sh/kernel/Makefile_32
index 54b5a2da562e..bad6bf5ac478 100644
--- a/arch/sh/kernel/Makefile_32
+++ b/arch/sh/kernel/Makefile_32
@@ -5,7 +5,7 @@
5extra-y := head.o init_task.o vmlinux.lds 5extra-y := head.o init_task.o vmlinux.lds
6 6
7obj-y := debugtraps.o io.o io_generic.o irq.o machvec.o process_32.o \ 7obj-y := debugtraps.o io.o io_generic.o irq.o machvec.o process_32.o \
8 ptrace_32.o semaphore.o setup.o signal.o sys_sh.o syscalls.o \ 8 ptrace_32.o semaphore.o setup.o signal_32.o sys_sh.o syscalls.o \
9 time.o topology.o traps.o 9 time.o topology.o traps.o
10 10
11obj-y += cpu/ timers/ 11obj-y += cpu/ timers/
diff --git a/arch/sh/kernel/Makefile_64 b/arch/sh/kernel/Makefile_64
index 7dc995d6fdeb..5f2711ae5468 100644
--- a/arch/sh/kernel/Makefile_64
+++ b/arch/sh/kernel/Makefile_64
@@ -1,7 +1,7 @@
1extra-y := head.o init_task.o vmlinux.lds 1extra-y := head.o init_task.o vmlinux.lds
2 2
3obj-y := debugtraps.o io.o io_generic.o irq.o machvec.o process_64.o \ 3obj-y := debugtraps.o io.o io_generic.o irq.o machvec.o process_64.o \
4 ptrace_64.o semaphore.o setup.o signal.o sys_sh.o syscalls.o \ 4 ptrace_64.o semaphore.o setup.o signal_64.o sys_sh.o syscalls.o \
5 time.o topology.o traps.o 5 time.o topology.o traps.o
6 6
7obj-y += cpu/ timers/ 7obj-y += cpu/ timers/
diff --git a/arch/sh/kernel/signal.c b/arch/sh/kernel/signal_32.c
index ca754fd42437..ca754fd42437 100644
--- a/arch/sh/kernel/signal.c
+++ b/arch/sh/kernel/signal_32.c
diff --git a/arch/sh64/kernel/signal.c b/arch/sh/kernel/signal_64.c
index 79fc48cf54c6..96ba81f324be 100644
--- a/arch/sh64/kernel/signal.c
+++ b/arch/sh/kernel/signal_64.c
@@ -28,7 +28,7 @@
28#include <asm/ucontext.h> 28#include <asm/ucontext.h>
29#include <asm/uaccess.h> 29#include <asm/uaccess.h>
30#include <asm/pgtable.h> 30#include <asm/pgtable.h>
31 31#include <asm/cacheflush.h>
32 32
33#define REG_RET 9 33#define REG_RET 9
34#define REG_ARG1 2 34#define REG_ARG1 2
@@ -227,10 +227,14 @@ setup_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc)
227#else 227#else
228static inline int 228static inline int
229restore_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc) 229restore_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc)
230{} 230{
231 return 0;
232}
231static inline int 233static inline int
232setup_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc) 234setup_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc)
233{} 235{
236 return 0;
237}
234#endif 238#endif
235 239
236static int 240static int
diff --git a/include/asm-sh/sigcontext.h b/include/asm-sh/sigcontext.h
index eb8effba2e80..8583143fa28f 100644
--- a/include/asm-sh/sigcontext.h
+++ b/include/asm-sh/sigcontext.h
@@ -4,6 +4,18 @@
4struct sigcontext { 4struct sigcontext {
5 unsigned long oldmask; 5 unsigned long oldmask;
6 6
7#if defined(__SH5__) || defined(CONFIG_CPU_SH5)
8 /* CPU registers */
9 unsigned long long sc_regs[63];
10 unsigned long long sc_tregs[8];
11 unsigned long long sc_pc;
12 unsigned long long sc_sr;
13
14 /* FPU registers */
15 unsigned long long sc_fpregs[32];
16 unsigned int sc_fpscr;
17 unsigned int sc_fpvalid;
18#else
7 /* CPU registers */ 19 /* CPU registers */
8 unsigned long sc_regs[16]; 20 unsigned long sc_regs[16];
9 unsigned long sc_pc; 21 unsigned long sc_pc;
@@ -21,6 +33,7 @@ struct sigcontext {
21 unsigned int sc_fpul; 33 unsigned int sc_fpul;
22 unsigned int sc_ownedfp; 34 unsigned int sc_ownedfp;
23#endif 35#endif
36#endif
24}; 37};
25 38
26#endif /* __ASM_SH_SIGCONTEXT_H */ 39#endif /* __ASM_SH_SIGCONTEXT_H */