diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-11-10 20:07:57 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-01-28 13:18:43 +0900 |
commit | f7a7b15344e2bccdd1c73d42685edfe7d43ec5b7 (patch) | |
tree | 87280639daf814c9a818994926785faf9daded88 | |
parent | 76168c21b78a0bd684d4687d14a2bd76bcf92762 (diff) | |
download | linux-stable-f7a7b15344e2bccdd1c73d42685edfe7d43ec5b7.tar.gz linux-stable-f7a7b15344e2bccdd1c73d42685edfe7d43ec5b7.tar.bz2 linux-stable-f7a7b15344e2bccdd1c73d42685edfe7d43ec5b7.zip |
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 @@ 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 7dc995d6fdeb..5f2711ae5468 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 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 @@ #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 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 @@ 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 */ |