aboutsummaryrefslogtreecommitdiffstats
path: root/arch/c6x
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-10-13 02:35:21 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-10-15 12:51:17 -0400
commit5e7d7333914ed5a01d70d5859068faf03b6779f2 (patch)
tree0c70a1743566664363af2245a3c8a03a55289679 /arch/c6x
parentddffeb8c4d0331609ef2581d84de4d763607bd37 (diff)
c6x: switch to saner kernel_execve() semantics
ACKed-by: Mark Salter <msalter@redhat.com> Tested-by: Mark Salter <msalter@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/c6x')
-rw-r--r--arch/c6x/Kconfig1
-rw-r--r--arch/c6x/include/uapi/asm/unistd.h1
-rw-r--r--arch/c6x/kernel/entry.S12
3 files changed, 2 insertions, 12 deletions
diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig
index aee1b569ee6e..66eab3703c75 100644
--- a/arch/c6x/Kconfig
+++ b/arch/c6x/Kconfig
@@ -18,6 +18,7 @@ config C6X
18 select OF_EARLY_FLATTREE 18 select OF_EARLY_FLATTREE
19 select GENERIC_CLOCKEVENTS 19 select GENERIC_CLOCKEVENTS
20 select GENERIC_KERNEL_THREAD 20 select GENERIC_KERNEL_THREAD
21 select GENERIC_KERNEL_EXECVE
21 select MODULES_USE_ELF_RELA 22 select MODULES_USE_ELF_RELA
22 23
23config MMU 24config MMU
diff --git a/arch/c6x/include/uapi/asm/unistd.h b/arch/c6x/include/uapi/asm/unistd.h
index 4ff747d12dad..625beafb9cd1 100644
--- a/arch/c6x/include/uapi/asm/unistd.h
+++ b/arch/c6x/include/uapi/asm/unistd.h
@@ -14,7 +14,6 @@
14 * more details. 14 * more details.
15 */ 15 */
16 16
17#define __ARCH_WANT_KERNEL_EXECVE
18#define __ARCH_WANT_SYS_EXECVE 17#define __ARCH_WANT_SYS_EXECVE
19 18
20/* Use the standard ABI for syscalls. */ 19/* Use the standard ABI for syscalls. */
diff --git a/arch/c6x/kernel/entry.S b/arch/c6x/kernel/entry.S
index 5449c36018fe..75f6f36472cf 100644
--- a/arch/c6x/kernel/entry.S
+++ b/arch/c6x/kernel/entry.S
@@ -413,19 +413,9 @@ ENTRY(ret_from_kernel_thread)
4130: 4130:
414 B .S2 B10 /* call fn */ 414 B .S2 B10 /* call fn */
415 LDW .D2T1 *+SP(REGS_A1+8),A4 /* get arg */ 415 LDW .D2T1 *+SP(REGS_A1+8),A4 /* get arg */
416 MVKL .S2 sys_exit,B11 416 ADDKPC .S2 ret_from_fork_2,B3,3
417 MVKH .S2 sys_exit,B11
418 ADDKPC .S2 0f,B3,1
4190:
420 BNOP .S2 B11,5 /* jump to sys_exit */
421ENDPROC(ret_from_kernel_thread) 417ENDPROC(ret_from_kernel_thread)
422 418
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
429 ;; 419 ;;
430 ;; These are the interrupt handlers, responsible for calling __do_IRQ() 420 ;; These are the interrupt handlers, responsible for calling __do_IRQ()
431 ;; int6 is used for syscalls (see _system_call entry) 421 ;; int6 is used for syscalls (see _system_call entry)