summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2006-12-09 01:14:35 +0100
committerPaul Mundt <lethal@linux-sh.org>2006-12-12 00:42:08 +0100
commit79890c512444aa55a7a42ac5e7d29d7a4edba11b (patch)
tree871eee3c72a876c1e732325bba3d42439417b3ac /arch
parentsh: Fix get_wchan(). (diff)
downloadlinux-79890c512444aa55a7a42ac5e7d29d7a4edba11b.tar.xz
linux-79890c512444aa55a7a42ac5e7d29d7a4edba11b.zip
sh: Fixup kernel_execve() for syscall cleanups.
SH-2 and SH-2A need to use a different syscall base for the trapa vector than the other parts, so fixup the logic in the kernel_execve() case. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/kernel/sys_sh.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/sh/kernel/sys_sh.c b/arch/sh/kernel/sys_sh.c
index f38874def74b..e18f183e1035 100644
--- a/arch/sh/kernel/sys_sh.c
+++ b/arch/sh/kernel/sys_sh.c
@@ -314,6 +314,12 @@ asmlinkage int sys_fadvise64_64_wrapper(int fd, u32 offset0, u32 offset1,
#endif
}
+#if defined(CONFIG_CPU_SH2) || defined(CONFIG_CPU_SH2A)
+#define SYSCALL_ARG3 "trapa #0x23"
+#else
+#define SYSCALL_ARG3 "trapa #0x13"
+#endif
+
/*
* Do a system call from kernel instead of calling sys_execve so we
* end up with proper pt_regs.