diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-13 02:35:21 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-15 12:51:17 -0400 |
commit | 5e7d7333914ed5a01d70d5859068faf03b6779f2 (patch) | |
tree | 0c70a1743566664363af2245a3c8a03a55289679 /arch/c6x | |
parent | ddffeb8c4d0331609ef2581d84de4d763607bd37 (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/Kconfig | 1 | ||||
-rw-r--r-- | arch/c6x/include/uapi/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/c6x/kernel/entry.S | 12 |
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 | ||
23 | config MMU | 24 | config 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) | |||
413 | 0: | 413 | 0: |
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 | ||
419 | 0: | ||
420 | BNOP .S2 B11,5 /* jump to sys_exit */ | ||
421 | ENDPROC(ret_from_kernel_thread) | 417 | ENDPROC(ret_from_kernel_thread) |
422 | 418 | ||
423 | ENTRY(ret_from_kernel_execve) | ||
424 | GET_THREAD_INFO A12 | ||
425 | BNOP .S2 syscall_exit,4 | ||
426 | ADD .D2X A4,-8,SP | ||
427 | ENDPROC(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) |