diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2012-10-25 03:10:51 -0400 |
---|---|---|
committer | Chris Zankel <chris@zankel.net> | 2012-10-25 18:00:36 -0400 |
commit | f0a1bf0859ffa059f9009d6a17e8d46241fb2161 (patch) | |
tree | 9ac202198fd961e3bc7b54bcc9e5501b17bb74ac /arch | |
parent | 3306a72669a2af23b324540b08e68e82ac5b7dab (diff) |
xtensa: switch to generic kernel_execve()
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/xtensa/Kconfig | 1 | ||||
-rw-r--r-- | arch/xtensa/kernel/entry.S | 18 |
2 files changed, 2 insertions, 17 deletions
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index 9525b70a13a1..0d1f36a22c98 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig | |||
@@ -14,6 +14,7 @@ config XTENSA | |||
14 | select MODULES_USE_ELF_RELA | 14 | select MODULES_USE_ELF_RELA |
15 | select GENERIC_PCI_IOMAP | 15 | select GENERIC_PCI_IOMAP |
16 | select GENERIC_KERNEL_THREAD | 16 | select GENERIC_KERNEL_THREAD |
17 | select GENERIC_KERNEL_EXECVE | ||
17 | select ARCH_WANT_OPTIONAL_GPIOLIB | 18 | select ARCH_WANT_OPTIONAL_GPIOLIB |
18 | help | 19 | help |
19 | Xtensa processors are 32-bit RISC machines designed by Tensilica | 20 | Xtensa processors are 32-bit RISC machines designed by Tensilica |
diff --git a/arch/xtensa/kernel/entry.S b/arch/xtensa/kernel/entry.S index d4ec1381aebc..90bfc1dbc13d 100644 --- a/arch/xtensa/kernel/entry.S +++ b/arch/xtensa/kernel/entry.S | |||
@@ -1833,22 +1833,6 @@ ENTRY(system_call) | |||
1833 | 1833 | ||
1834 | 1834 | ||
1835 | /* | 1835 | /* |
1836 | * Do a system call from kernel instead of calling sys_execve, so we end up | ||
1837 | * with proper pt_regs. | ||
1838 | * | ||
1839 | * int kernel_execve(const char *fname, char *const argv[], charg *const envp[]) | ||
1840 | * a2 a2 a3 a4 | ||
1841 | */ | ||
1842 | |||
1843 | ENTRY(kernel_execve) | ||
1844 | entry a1, 16 | ||
1845 | mov a6, a2 # arg0 is in a6 | ||
1846 | movi a2, __NR_execve | ||
1847 | syscall | ||
1848 | |||
1849 | retw | ||
1850 | |||
1851 | /* | ||
1852 | * Task switch. | 1836 | * Task switch. |
1853 | * | 1837 | * |
1854 | * struct task* _switch_to (struct task* prev, struct task* next) | 1838 | * struct task* _switch_to (struct task* prev, struct task* next) |
@@ -1940,6 +1924,6 @@ ENTRY(ret_from_kernel_thread) | |||
1940 | call4 schedule_tail | 1924 | call4 schedule_tail |
1941 | mov a6, a3 | 1925 | mov a6, a3 |
1942 | callx4 a2 | 1926 | callx4 a2 |
1943 | call4 do_exit | 1927 | j common_exception_return |
1944 | 1928 | ||
1945 | ENDPROC(ret_from_kernel_thread) | 1929 | ENDPROC(ret_from_kernel_thread) |