summaryrefslogtreecommitdiff
path: root/arch/sh
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2006-12-09 09:14:35 +0900
committerPaul Mundt <lethal@linux-sh.org>2006-12-12 08:42:08 +0900
commit79890c512444aa55a7a42ac5e7d29d7a4edba11b (patch)
tree871eee3c72a876c1e732325bba3d42439417b3ac /arch/sh
parentb652c23cb0f7808bedb5442c416d91705a465c67 (diff)
downloadlinux-3.10-79890c512444aa55a7a42ac5e7d29d7a4edba11b.tar.gz
linux-3.10-79890c512444aa55a7a42ac5e7d29d7a4edba11b.tar.bz2
linux-3.10-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/sh')
-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 f38874def74..e18f183e103 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.