aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMark Salter <msalter@redhat.com>2012-09-21 12:26:38 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-10-01 00:59:08 -0400
commit39fcf44099dd64679c232c4a7bb81cf469e4e43c (patch)
tree52e3e19d2211b7640cc6595746a5fd7474389f9f /arch
parent46f15067c020a0ce712cb2d3ef38c0589a521c15 (diff)
c6x: switch to generic kernel_execve
Signed-off-by: Mark Salter <msalter@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/c6x/include/asm/unistd.h2
-rw-r--r--arch/c6x/kernel/entry.S13
2 files changed, 8 insertions, 7 deletions
diff --git a/arch/c6x/include/asm/unistd.h b/arch/c6x/include/asm/unistd.h
index 6d54ea4262eb..1ce3a6f2372b 100644
--- a/arch/c6x/include/asm/unistd.h
+++ b/arch/c6x/include/asm/unistd.h
@@ -16,6 +16,8 @@
16#if !defined(_ASM_C6X_UNISTD_H) || defined(__SYSCALL) 16#if !defined(_ASM_C6X_UNISTD_H) || defined(__SYSCALL)
17#define _ASM_C6X_UNISTD_H 17#define _ASM_C6X_UNISTD_H
18 18
19#define __ARCH_WANT_KERNEL_EXECVE
20
19/* Use the standard ABI for syscalls. */ 21/* Use the standard ABI for syscalls. */
20#include <asm-generic/unistd.h> 22#include <asm-generic/unistd.h>
21 23
diff --git a/arch/c6x/kernel/entry.S b/arch/c6x/kernel/entry.S
index 6e6bd9d3d9cc..32e3683da718 100644
--- a/arch/c6x/kernel/entry.S
+++ b/arch/c6x/kernel/entry.S
@@ -420,6 +420,12 @@ ENTRY(ret_from_kernel_thread)
420 BNOP .S2 B11,5 /* jump to sys_exit */ 420 BNOP .S2 B11,5 /* jump to sys_exit */
421ENDPROC(ret_from_kernel_thread) 421ENDPROC(ret_from_kernel_thread)
422 422
423ENTRY(ret_from_kernel_execve)
424 GET_THREAD_INFO A12
425 BNOP .S2 syscall_exit,4
426 ADD .D2X A4,-8,SP
427ENDPROC(ret_from_kernel_execve)
428
423 ;; 429 ;;
424 ;; These are the interrupt handlers, responsible for calling __do_IRQ() 430 ;; These are the interrupt handlers, responsible for calling __do_IRQ()
425 ;; int6 is used for syscalls (see _system_call entry) 431 ;; int6 is used for syscalls (see _system_call entry)
@@ -613,13 +619,6 @@ ENTRY(sys_sigaltstack)
613 NOP 4 619 NOP 4
614ENDPROC(sys_sigaltstack) 620ENDPROC(sys_sigaltstack)
615 621
616 ;; kernel_execve
617ENTRY(kernel_execve)
618 MVK .S2 __NR_execve,B0
619 SWE
620 BNOP .S2 B3,5
621ENDPROC(kernel_execve)
622
623 ;; 622 ;;
624 ;; Special system calls 623 ;; Special system calls
625 ;; return address is in B3 624 ;; return address is in B3