aboutsummaryrefslogtreecommitdiffstats
path: root/arch/microblaze
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-10-10 13:11:01 -0400
committerMichal Simek <michal.simek@xilinx.com>2012-11-16 02:45:55 -0500
commit5f6c4ab6ee781c9aace7c8548ad9bd87f5678df7 (patch)
treeff78a2d102a665f148aab661e943caf87570bec5 /arch/microblaze
parent99c59f60fd751876c37fbea01e55606441ac6db4 (diff)
microblaze: switch to generic sys_execve()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/microblaze')
-rw-r--r--arch/microblaze/include/asm/unistd.h1
-rw-r--r--arch/microblaze/kernel/entry-nommu.S4
-rw-r--r--arch/microblaze/kernel/entry.S4
-rw-r--r--arch/microblaze/kernel/sys_microblaze.c18
4 files changed, 1 insertions, 26 deletions
diff --git a/arch/microblaze/include/asm/unistd.h b/arch/microblaze/include/asm/unistd.h
index 6985e6e9d826..ea7442834294 100644
--- a/arch/microblaze/include/asm/unistd.h
+++ b/arch/microblaze/include/asm/unistd.h
@@ -422,6 +422,7 @@
422#define __ARCH_WANT_SYS_SIGPROCMASK 422#define __ARCH_WANT_SYS_SIGPROCMASK
423#define __ARCH_WANT_SYS_RT_SIGACTION 423#define __ARCH_WANT_SYS_RT_SIGACTION
424#define __ARCH_WANT_SYS_RT_SIGSUSPEND 424#define __ARCH_WANT_SYS_RT_SIGSUSPEND
425#define __ARCH_WANT_SYS_EXECVE
425 426
426/* 427/*
427 * "Conditional" syscalls 428 * "Conditional" syscalls
diff --git a/arch/microblaze/kernel/entry-nommu.S b/arch/microblaze/kernel/entry-nommu.S
index 8957c7760c47..673a49c04a02 100644
--- a/arch/microblaze/kernel/entry-nommu.S
+++ b/arch/microblaze/kernel/entry-nommu.S
@@ -567,10 +567,6 @@ sys_clone:
567 brid microblaze_clone 567 brid microblaze_clone
568 addk r7, r1, r0 568 addk r7, r1, r0
569 569
570sys_execve:
571 brid microblaze_execve
572 addk r8, r1, r0
573
574sys_rt_sigreturn_wrapper: 570sys_rt_sigreturn_wrapper:
575 brid sys_rt_sigreturn 571 brid sys_rt_sigreturn
576 addk r5, r1, r0 572 addk r5, r1, r0
diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S
index 9aa54def9985..10f360ed82b4 100644
--- a/arch/microblaze/kernel/entry.S
+++ b/arch/microblaze/kernel/entry.S
@@ -489,10 +489,6 @@ C_ENTRY(sys_clone):
489 brid do_fork /* Do real work (tail-call) */ 489 brid do_fork /* Do real work (tail-call) */
490 add r8, r0, r0; /* Arg 3: (unused) */ 490 add r8, r0, r0; /* Arg 3: (unused) */
491 491
492C_ENTRY(sys_execve):
493 brid microblaze_execve; /* Do real work (tail-call).*/
494 addik r8, r1, 0; /* add user context as 4th arg */
495
496C_ENTRY(sys_rt_sigreturn_wrapper): 492C_ENTRY(sys_rt_sigreturn_wrapper):
497 brid sys_rt_sigreturn /* Do real work */ 493 brid sys_rt_sigreturn /* Do real work */
498 addik r5, r1, 0; /* add user context as 1st arg */ 494 addik r5, r1, 0; /* add user context as 1st arg */
diff --git a/arch/microblaze/kernel/sys_microblaze.c b/arch/microblaze/kernel/sys_microblaze.c
index b200ee7d1da9..a6a7bae9f5c6 100644
--- a/arch/microblaze/kernel/sys_microblaze.c
+++ b/arch/microblaze/kernel/sys_microblaze.c
@@ -48,24 +48,6 @@ asmlinkage long microblaze_clone(int flags, unsigned long stack,
48 return do_fork(flags, stack, regs, 0, NULL, NULL); 48 return do_fork(flags, stack, regs, 0, NULL, NULL);
49} 49}
50 50
51asmlinkage long microblaze_execve(const char __user *filenamei,
52 const char __user *const __user *argv,
53 const char __user *const __user *envp,
54 struct pt_regs *regs)
55{
56 int error;
57 struct filename *filename;
58
59 filename = getname(filenamei);
60 error = PTR_ERR(filename);
61 if (IS_ERR(filename))
62 goto out;
63 error = do_execve(filename->name, argv, envp, regs);
64 putname(filename);
65out:
66 return error;
67}
68
69asmlinkage long sys_mmap(unsigned long addr, unsigned long len, 51asmlinkage long sys_mmap(unsigned long addr, unsigned long len,
70 unsigned long prot, unsigned long flags, 52 unsigned long prot, unsigned long flags,
71 unsigned long fd, off_t pgoff) 53 unsigned long fd, off_t pgoff)