From c8b6e9e83e7e2a1692500c174e4f0a66bfc1265b Mon Sep 17 00:00:00 2001 From: Al Viro Date: Wed, 10 Oct 2012 13:29:28 -0400 Subject: [PATCH] --- yaml --- r: 340304 b: refs/heads/master c: 5fae1b664595adc621fb9294b7d19145918073de h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/h8300/Kconfig | 1 + trunk/arch/h8300/kernel/entry.S | 3 +-- trunk/arch/h8300/kernel/sys_h8300.c | 26 -------------------------- 4 files changed, 3 insertions(+), 29 deletions(-) diff --git a/[refs] b/[refs] index 352a33dec693..5d18745c1c5a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 557e1995a92d318206910d8b5c62075fe02b37e0 +refs/heads/master: 5fae1b664595adc621fb9294b7d19145918073de diff --git a/trunk/arch/h8300/Kconfig b/trunk/arch/h8300/Kconfig index 4cef8a91c2a0..04bef4d25b4a 100644 --- a/trunk/arch/h8300/Kconfig +++ b/trunk/arch/h8300/Kconfig @@ -9,6 +9,7 @@ config H8300 select GENERIC_CPU_DEVICES select MODULES_USE_ELF_RELA select GENERIC_KERNEL_THREAD + select GENERIC_KERNEL_EXECVE config SYMBOL_PREFIX string diff --git a/trunk/arch/h8300/kernel/entry.S b/trunk/arch/h8300/kernel/entry.S index 2cdb49a56099..617a6878787f 100644 --- a/trunk/arch/h8300/kernel/entry.S +++ b/trunk/arch/h8300/kernel/entry.S @@ -337,8 +337,7 @@ SYMBOL_NAME_LABEL(ret_from_kernel_thread) mov.l @(LER4:16,sp),er0 mov.l @(LER5:16,sp),er1 jsr @er1 - sub.l @er0,@er0 - jsr @SYMBOL_NAME(sys_exit) + jmp @SYMBOL_NAME(ret_from_exception) SYMBOL_NAME_LABEL(resume) /* diff --git a/trunk/arch/h8300/kernel/sys_h8300.c b/trunk/arch/h8300/kernel/sys_h8300.c index 4bdc7311784e..bf350cb7f597 100644 --- a/trunk/arch/h8300/kernel/sys_h8300.c +++ b/trunk/arch/h8300/kernel/sys_h8300.c @@ -46,29 +46,3 @@ asmlinkage void syscall_print(void *dummy,...) ((regs->pc)&0xffffff)-2,regs->orig_er0,regs->er1,regs->er2,regs->er3,regs->er0); } #endif - -/* - * Do a system call from kernel instead of calling sys_execve so we - * end up with proper pt_regs. - */ -asmlinkage -int kernel_execve(const char *filename, - const char *const argv[], - const char *const envp[]) -{ - register long res __asm__("er0"); - register const char *const *_c __asm__("er3") = envp; - register const char *const *_b __asm__("er2") = argv; - register const char * _a __asm__("er1") = filename; - __asm__ __volatile__ ("mov.l %1,er0\n\t" - "trapa #0\n\t" - : "=r" (res) - : "g" (__NR_execve), - "g" (_a), - "g" (_b), - "g" (_c) - : "cc", "memory"); - return res; -} - -