Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sys_avr32.c
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2004-2006 Atmel Corporation
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8 #include <linux/unistd.h>
9 
10 int kernel_execve(const char *file,
11  const char *const *argv,
12  const char *const *envp)
13 {
14  register long scno asm("r8") = __NR_execve;
15  register long sc1 asm("r12") = (long)file;
16  register long sc2 asm("r11") = (long)argv;
17  register long sc3 asm("r10") = (long)envp;
18 
19  asm volatile("scall"
20  : "=r"(sc1)
21  : "r"(scno), "0"(sc1), "r"(sc2), "r"(sc3)
22  : "cc", "memory");
23  return sc1;
24 }