diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-11-10 06:07:57 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-01-27 23:18:43 -0500 |
commit | f7a7b15344e2bccdd1c73d42685edfe7d43ec5b7 (patch) | |
tree | 87280639daf814c9a818994926785faf9daded88 | |
parent | 76168c21b78a0bd684d4687d14a2bd76bcf92762 (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_32 | 2 | ||||
-rw-r--r-- | arch/sh/kernel/Makefile_64 | 2 | ||||
-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.h | 13 |
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 @@ | |||
5 | extra-y := head.o init_task.o vmlinux.lds | 5 | extra-y := head.o init_task.o vmlinux.lds |
6 | 6 | ||
7 | obj-y := debugtraps.o io.o io_generic.o irq.o machvec.o process_32.o \ | 7 | obj-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 | ||
11 | obj-y += cpu/ timers/ | 11 | obj-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 @@ | |||
1 | extra-y := head.o init_task.o vmlinux.lds | 1 | extra-y := head.o init_task.o vmlinux.lds |
2 | 2 | ||
3 | obj-y := debugtraps.o io.o io_generic.o irq.o machvec.o process_64.o \ | 3 | obj-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 | ||
7 | obj-y += cpu/ timers/ | 7 | obj-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 |
228 | static inline int | 228 | static inline int |
229 | restore_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc) | 229 | restore_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc) |
230 | {} | 230 | { |
231 | return 0; | ||
232 | } | ||
231 | static inline int | 233 | static inline int |
232 | setup_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc) | 234 | setup_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc) |
233 | {} | 235 | { |
236 | return 0; | ||
237 | } | ||
234 | #endif | 238 | #endif |
235 | 239 | ||
236 | static int | 240 | static 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 @@ | |||
4 | struct sigcontext { | 4 | struct 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 */ |