am 6ccc2c8f: Merge "Add unshare() syscall." into jb-mr1-dev

* commit '6ccc2c8f435e42db3d844698f82ab6884798624a':
  Add unshare() syscall.
This commit is contained in:
Jeff Sharkey 2012-08-10 11:31:20 -07:00 committed by Android Git Automerger
commit 9a477de2f5
8 changed files with 67 additions and 1 deletions

View File

@ -1,6 +1,6 @@
# this file is used to list all the syscalls that will be supported by # this file is used to list all the syscalls that will be supported by
# the Bionic C library. It is used to automatically generate the syscall # the Bionic C library. It is used to automatically generate the syscall
# stubs, the list of syscall constants (__NR_xxxx) and the content of <linux/_unitsd.h> # stubs, the list of syscall constants (__NR_xxxx) and the content of <linux/_unistd.h>
# #
# each non comment line has the following format: # each non comment line has the following format:
# #
@ -191,6 +191,7 @@ ssize_t llistxattr(const char *, char *, size_t) 233,233,231
int removexattr(const char *, const char *) 235,235,233 int removexattr(const char *, const char *) 235,235,233
int lremovexattr(const char *, const char *) 236,236,234 int lremovexattr(const char *, const char *) 236,236,234
int __statfs64:statfs64(const char *, size_t, struct statfs *) 266,268,255 int __statfs64:statfs64(const char *, size_t, struct statfs *) 266,268,255
long unshare(unsigned long) 337,310,303
# time # time
int pause () 29 int pause () 29

View File

@ -121,6 +121,7 @@ syscall_src += arch-arm/syscalls/llistxattr.S
syscall_src += arch-arm/syscalls/removexattr.S syscall_src += arch-arm/syscalls/removexattr.S
syscall_src += arch-arm/syscalls/lremovexattr.S syscall_src += arch-arm/syscalls/lremovexattr.S
syscall_src += arch-arm/syscalls/__statfs64.S syscall_src += arch-arm/syscalls/__statfs64.S
syscall_src += arch-arm/syscalls/unshare.S
syscall_src += arch-arm/syscalls/pause.S syscall_src += arch-arm/syscalls/pause.S
syscall_src += arch-arm/syscalls/gettimeofday.S syscall_src += arch-arm/syscalls/gettimeofday.S
syscall_src += arch-arm/syscalls/settimeofday.S syscall_src += arch-arm/syscalls/settimeofday.S

View File

@ -0,0 +1,14 @@
/* autogenerated by gensyscalls.py */
#include <machine/asm.h>
#include <sys/linux-syscalls.h>
ENTRY(unshare)
.save {r4, r7}
stmfd sp!, {r4, r7}
ldr r7, =__NR_unshare
swi #0
ldmfd sp!, {r4, r7}
movs r0, r0
bxpl lr
b __set_syscall_errno
END(unshare)

View File

@ -124,6 +124,7 @@ syscall_src += arch-mips/syscalls/llistxattr.S
syscall_src += arch-mips/syscalls/removexattr.S syscall_src += arch-mips/syscalls/removexattr.S
syscall_src += arch-mips/syscalls/lremovexattr.S syscall_src += arch-mips/syscalls/lremovexattr.S
syscall_src += arch-mips/syscalls/__statfs64.S syscall_src += arch-mips/syscalls/__statfs64.S
syscall_src += arch-mips/syscalls/unshare.S
syscall_src += arch-mips/syscalls/pause.S syscall_src += arch-mips/syscalls/pause.S
syscall_src += arch-mips/syscalls/gettimeofday.S syscall_src += arch-mips/syscalls/gettimeofday.S
syscall_src += arch-mips/syscalls/settimeofday.S syscall_src += arch-mips/syscalls/settimeofday.S

View File

@ -0,0 +1,22 @@
/* autogenerated by gensyscalls.py */
#include <sys/linux-syscalls.h>
.text
.globl unshare
.align 4
.ent unshare
unshare:
.set noreorder
.cpload $t9
li $v0, __NR_unshare
syscall
bnez $a3, 1f
move $a0, $v0
j $ra
nop
1:
la $t9,__set_errno
j $t9
nop
.set reorder
.end unshare

View File

@ -125,6 +125,7 @@ syscall_src += arch-x86/syscalls/llistxattr.S
syscall_src += arch-x86/syscalls/removexattr.S syscall_src += arch-x86/syscalls/removexattr.S
syscall_src += arch-x86/syscalls/lremovexattr.S syscall_src += arch-x86/syscalls/lremovexattr.S
syscall_src += arch-x86/syscalls/__statfs64.S syscall_src += arch-x86/syscalls/__statfs64.S
syscall_src += arch-x86/syscalls/unshare.S
syscall_src += arch-x86/syscalls/pause.S syscall_src += arch-x86/syscalls/pause.S
syscall_src += arch-x86/syscalls/gettimeofday.S syscall_src += arch-x86/syscalls/gettimeofday.S
syscall_src += arch-x86/syscalls/settimeofday.S syscall_src += arch-x86/syscalls/settimeofday.S

View File

@ -0,0 +1,23 @@
/* autogenerated by gensyscalls.py */
#include <sys/linux-syscalls.h>
.text
.type unshare, @function
.globl unshare
.align 4
unshare:
pushl %ebx
mov 8(%esp), %ebx
movl $__NR_unshare, %eax
int $0x80
cmpl $-129, %eax
jb 1f
negl %eax
pushl %eax
call __set_errno
addl $4, %esp
orl $-1, %eax
1:
popl %ebx
ret

View File

@ -155,6 +155,7 @@
#define __NR_removexattr (__NR_SYSCALL_BASE + 235) #define __NR_removexattr (__NR_SYSCALL_BASE + 235)
#define __NR_lremovexattr (__NR_SYSCALL_BASE + 236) #define __NR_lremovexattr (__NR_SYSCALL_BASE + 236)
#define __NR_statfs64 (__NR_SYSCALL_BASE + 266) #define __NR_statfs64 (__NR_SYSCALL_BASE + 266)
#define __NR_unshare (__NR_SYSCALL_BASE + 337)
#define __NR_nanosleep (__NR_SYSCALL_BASE + 162) #define __NR_nanosleep (__NR_SYSCALL_BASE + 162)
#define __NR_clock_gettime (__NR_SYSCALL_BASE + 263) #define __NR_clock_gettime (__NR_SYSCALL_BASE + 263)
#define __NR_clock_settime (__NR_SYSCALL_BASE + 262) #define __NR_clock_settime (__NR_SYSCALL_BASE + 262)
@ -318,6 +319,7 @@
#define __NR_renameat (__NR_SYSCALL_BASE + 302) #define __NR_renameat (__NR_SYSCALL_BASE + 302)
#define __NR_fchmodat (__NR_SYSCALL_BASE + 306) #define __NR_fchmodat (__NR_SYSCALL_BASE + 306)
#define __NR_faccessat (__NR_SYSCALL_BASE + 307) #define __NR_faccessat (__NR_SYSCALL_BASE + 307)
#define __NR_unshare (__NR_SYSCALL_BASE + 310)
#define __NR_getcpu (__NR_SYSCALL_BASE + 318) #define __NR_getcpu (__NR_SYSCALL_BASE + 318)
#define __NR_utimensat (__NR_SYSCALL_BASE + 320) #define __NR_utimensat (__NR_SYSCALL_BASE + 320)
#define __NR_eventfd2 (__NR_SYSCALL_BASE + 328) #define __NR_eventfd2 (__NR_SYSCALL_BASE + 328)
@ -444,6 +446,7 @@
#define __NR_renameat (__NR_SYSCALL_BASE + 295) #define __NR_renameat (__NR_SYSCALL_BASE + 295)
#define __NR_fchmodat (__NR_SYSCALL_BASE + 299) #define __NR_fchmodat (__NR_SYSCALL_BASE + 299)
#define __NR_faccessat (__NR_SYSCALL_BASE + 300) #define __NR_faccessat (__NR_SYSCALL_BASE + 300)
#define __NR_unshare (__NR_SYSCALL_BASE + 303)
#define __NR_getcpu (__NR_SYSCALL_BASE + 312) #define __NR_getcpu (__NR_SYSCALL_BASE + 312)
#define __NR_ioprio_set (__NR_SYSCALL_BASE + 314) #define __NR_ioprio_set (__NR_SYSCALL_BASE + 314)
#define __NR_ioprio_get (__NR_SYSCALL_BASE + 315) #define __NR_ioprio_get (__NR_SYSCALL_BASE + 315)