]> err.no Git - linux-2.6/blobdiff - arch/avr32/kernel/sys_avr32.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6
[linux-2.6] / arch / avr32 / kernel / sys_avr32.c
index 6ec5693da4488ce938d5c507848d4b81793caa3f..8deb6003ee626afb44c14f785c25eea3b239c9f2 100644 (file)
@@ -49,3 +49,17 @@ asmlinkage long sys_mmap2(unsigned long addr, unsigned long len,
                fput(file);
        return error;
 }
+
+int kernel_execve(const char *file, char **argv, char **envp)
+{
+       register long scno asm("r8") = __NR_execve;
+       register long sc1 asm("r12") = (long)file;
+       register long sc2 asm("r11") = (long)argv;
+       register long sc3 asm("r10") = (long)envp;
+
+       asm volatile("scall"
+                    : "=r"(sc1)
+                    : "r"(scno), "0"(sc1), "r"(sc2), "r"(sc3)
+                    : "cc", "memory");
+       return sc1;
+}