Commit e1b5bb6d1236d4ad2084c53aa83dde7cdf6f8eea

Authored by Al Viro
1 parent 4a0fd5bf0f

consolidate cond_syscall and SYSCALL_ALIAS declarations

take them to asm/linkage.h, with default in linux/linkage.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Showing 29 changed files with 44 additions and 209 deletions Inline Diff

arch/alpha/include/asm/linkage.h
1 #ifndef __ASM_LINKAGE_H 1 #ifndef __ASM_LINKAGE_H
2 #define __ASM_LINKAGE_H 2 #define __ASM_LINKAGE_H
3 3
4 /* Nothing to see here... */ 4 #define cond_syscall(x) asm(".weak\t" #x "\n" #x " = sys_ni_syscall")
5 #define SYSCALL_ALIAS(alias, name) \
6 asm ( #alias " = " #name "\n\t.globl " #alias)
5 7
6 #endif 8 #endif
7 9
arch/alpha/include/asm/unistd.h
1 #ifndef _ALPHA_UNISTD_H 1 #ifndef _ALPHA_UNISTD_H
2 #define _ALPHA_UNISTD_H 2 #define _ALPHA_UNISTD_H
3 3
4 #include <uapi/asm/unistd.h> 4 #include <uapi/asm/unistd.h>
5 5
6 6
7 #define NR_SYSCALLS 506 7 #define NR_SYSCALLS 506
8 8
9 #define __ARCH_WANT_OLD_READDIR 9 #define __ARCH_WANT_OLD_READDIR
10 #define __ARCH_WANT_STAT64 10 #define __ARCH_WANT_STAT64
11 #define __ARCH_WANT_SYS_GETHOSTNAME 11 #define __ARCH_WANT_SYS_GETHOSTNAME
12 #define __ARCH_WANT_SYS_FADVISE64 12 #define __ARCH_WANT_SYS_FADVISE64
13 #define __ARCH_WANT_SYS_GETPGRP 13 #define __ARCH_WANT_SYS_GETPGRP
14 #define __ARCH_WANT_SYS_OLD_GETRLIMIT 14 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
15 #define __ARCH_WANT_SYS_OLDUMOUNT 15 #define __ARCH_WANT_SYS_OLDUMOUNT
16 #define __ARCH_WANT_SYS_SIGPENDING 16 #define __ARCH_WANT_SYS_SIGPENDING
17 #define __ARCH_WANT_SYS_FORK 17 #define __ARCH_WANT_SYS_FORK
18 #define __ARCH_WANT_SYS_VFORK 18 #define __ARCH_WANT_SYS_VFORK
19 #define __ARCH_WANT_SYS_CLONE 19 #define __ARCH_WANT_SYS_CLONE
20 20
21 /* "Conditional" syscalls. What we want is
22
23 __attribute__((weak,alias("sys_ni_syscall")))
24
25 but that raises the problem of what type to give the symbol. If we use
26 a prototype, it'll conflict with the definition given in this file and
27 others. If we use __typeof, we discover that not all symbols actually
28 have declarations. If we use no prototype, then we get warnings from
29 -Wstrict-prototypes. Ho hum. */
30
31 #define cond_syscall(x) asm(".weak\t" #x "\n" #x " = sys_ni_syscall")
32
33 #endif /* _ALPHA_UNISTD_H */ 21 #endif /* _ALPHA_UNISTD_H */
34 22
arch/arm/include/asm/unistd.h
1 /* 1 /*
2 * arch/arm/include/asm/unistd.h 2 * arch/arm/include/asm/unistd.h
3 * 3 *
4 * Copyright (C) 2001-2005 Russell King 4 * Copyright (C) 2001-2005 Russell King
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as 7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation. 8 * published by the Free Software Foundation.
9 * 9 *
10 * Please forward _all_ changes to this file to rmk@arm.linux.org.uk, 10 * Please forward _all_ changes to this file to rmk@arm.linux.org.uk,
11 * no matter what the change is. Thanks! 11 * no matter what the change is. Thanks!
12 */ 12 */
13 #ifndef __ASM_ARM_UNISTD_H 13 #ifndef __ASM_ARM_UNISTD_H
14 #define __ASM_ARM_UNISTD_H 14 #define __ASM_ARM_UNISTD_H
15 15
16 #include <uapi/asm/unistd.h> 16 #include <uapi/asm/unistd.h>
17 17
18 #define __NR_syscalls (380) 18 #define __NR_syscalls (380)
19 #define __ARM_NR_cmpxchg (__ARM_NR_BASE+0x00fff0) 19 #define __ARM_NR_cmpxchg (__ARM_NR_BASE+0x00fff0)
20 20
21 #define __ARCH_WANT_STAT64 21 #define __ARCH_WANT_STAT64
22 #define __ARCH_WANT_SYS_GETHOSTNAME 22 #define __ARCH_WANT_SYS_GETHOSTNAME
23 #define __ARCH_WANT_SYS_PAUSE 23 #define __ARCH_WANT_SYS_PAUSE
24 #define __ARCH_WANT_SYS_GETPGRP 24 #define __ARCH_WANT_SYS_GETPGRP
25 #define __ARCH_WANT_SYS_LLSEEK 25 #define __ARCH_WANT_SYS_LLSEEK
26 #define __ARCH_WANT_SYS_NICE 26 #define __ARCH_WANT_SYS_NICE
27 #define __ARCH_WANT_SYS_SIGPENDING 27 #define __ARCH_WANT_SYS_SIGPENDING
28 #define __ARCH_WANT_SYS_SIGPROCMASK 28 #define __ARCH_WANT_SYS_SIGPROCMASK
29 #define __ARCH_WANT_SYS_OLD_MMAP 29 #define __ARCH_WANT_SYS_OLD_MMAP
30 #define __ARCH_WANT_SYS_OLD_SELECT 30 #define __ARCH_WANT_SYS_OLD_SELECT
31 31
32 #if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT) 32 #if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT)
33 #define __ARCH_WANT_SYS_TIME 33 #define __ARCH_WANT_SYS_TIME
34 #define __ARCH_WANT_SYS_IPC 34 #define __ARCH_WANT_SYS_IPC
35 #define __ARCH_WANT_SYS_OLDUMOUNT 35 #define __ARCH_WANT_SYS_OLDUMOUNT
36 #define __ARCH_WANT_SYS_ALARM 36 #define __ARCH_WANT_SYS_ALARM
37 #define __ARCH_WANT_SYS_UTIME 37 #define __ARCH_WANT_SYS_UTIME
38 #define __ARCH_WANT_SYS_OLD_GETRLIMIT 38 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
39 #define __ARCH_WANT_OLD_READDIR 39 #define __ARCH_WANT_OLD_READDIR
40 #define __ARCH_WANT_SYS_SOCKETCALL 40 #define __ARCH_WANT_SYS_SOCKETCALL
41 #endif 41 #endif
42 #define __ARCH_WANT_SYS_FORK 42 #define __ARCH_WANT_SYS_FORK
43 #define __ARCH_WANT_SYS_VFORK 43 #define __ARCH_WANT_SYS_VFORK
44 #define __ARCH_WANT_SYS_CLONE 44 #define __ARCH_WANT_SYS_CLONE
45 45
46 /* 46 /*
47 * "Conditional" syscalls
48 *
49 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
50 * but it doesn't work on all toolchains, so we just do it by hand
51 */
52 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
53
54 /*
55 * Unimplemented (or alternatively implemented) syscalls 47 * Unimplemented (or alternatively implemented) syscalls
56 */ 48 */
57 #define __IGNORE_fadvise64_64 49 #define __IGNORE_fadvise64_64
58 #define __IGNORE_migrate_pages 50 #define __IGNORE_migrate_pages
59 #define __IGNORE_kcmp 51 #define __IGNORE_kcmp
60 52
61 #endif /* __ASM_ARM_UNISTD_H */ 53 #endif /* __ASM_ARM_UNISTD_H */
62 54
arch/avr32/include/asm/unistd.h
1 /* 1 /*
2 * Copyright (C) 2004-2006 Atmel Corporation 2 * Copyright (C) 2004-2006 Atmel Corporation
3 * 3 *
4 * This program is free software; you can redistribute it and/or modify 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 5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation. 6 * published by the Free Software Foundation.
7 */ 7 */
8 #ifndef __ASM_AVR32_UNISTD_H 8 #ifndef __ASM_AVR32_UNISTD_H
9 #define __ASM_AVR32_UNISTD_H 9 #define __ASM_AVR32_UNISTD_H
10 10
11 #include <uapi/asm/unistd.h> 11 #include <uapi/asm/unistd.h>
12 12
13 #define NR_syscalls 284 13 #define NR_syscalls 284
14 14
15 /* Old stuff */ 15 /* Old stuff */
16 #define __IGNORE_uselib 16 #define __IGNORE_uselib
17 #define __IGNORE_mmap 17 #define __IGNORE_mmap
18 18
19 /* NUMA stuff */ 19 /* NUMA stuff */
20 #define __IGNORE_mbind 20 #define __IGNORE_mbind
21 #define __IGNORE_get_mempolicy 21 #define __IGNORE_get_mempolicy
22 #define __IGNORE_set_mempolicy 22 #define __IGNORE_set_mempolicy
23 #define __IGNORE_migrate_pages 23 #define __IGNORE_migrate_pages
24 #define __IGNORE_move_pages 24 #define __IGNORE_move_pages
25 25
26 /* SMP stuff */ 26 /* SMP stuff */
27 #define __IGNORE_getcpu 27 #define __IGNORE_getcpu
28 28
29 #define __ARCH_WANT_STAT64 29 #define __ARCH_WANT_STAT64
30 #define __ARCH_WANT_SYS_ALARM 30 #define __ARCH_WANT_SYS_ALARM
31 #define __ARCH_WANT_SYS_GETHOSTNAME 31 #define __ARCH_WANT_SYS_GETHOSTNAME
32 #define __ARCH_WANT_SYS_PAUSE 32 #define __ARCH_WANT_SYS_PAUSE
33 #define __ARCH_WANT_SYS_TIME 33 #define __ARCH_WANT_SYS_TIME
34 #define __ARCH_WANT_SYS_UTIME 34 #define __ARCH_WANT_SYS_UTIME
35 #define __ARCH_WANT_SYS_WAITPID 35 #define __ARCH_WANT_SYS_WAITPID
36 #define __ARCH_WANT_SYS_FADVISE64 36 #define __ARCH_WANT_SYS_FADVISE64
37 #define __ARCH_WANT_SYS_GETPGRP 37 #define __ARCH_WANT_SYS_GETPGRP
38 #define __ARCH_WANT_SYS_LLSEEK 38 #define __ARCH_WANT_SYS_LLSEEK
39 #define __ARCH_WANT_SYS_GETPGRP 39 #define __ARCH_WANT_SYS_GETPGRP
40 #define __ARCH_WANT_SYS_FORK 40 #define __ARCH_WANT_SYS_FORK
41 #define __ARCH_WANT_SYS_VFORK 41 #define __ARCH_WANT_SYS_VFORK
42 #define __ARCH_WANT_SYS_CLONE 42 #define __ARCH_WANT_SYS_CLONE
43 43
44 /*
45 * "Conditional" syscalls
46 *
47 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
48 * but it doesn't work on all toolchains, so we just do it by hand
49 */
50 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall");
51
52 #endif /* __ASM_AVR32_UNISTD_H */ 44 #endif /* __ASM_AVR32_UNISTD_H */
53 45
arch/blackfin/include/asm/unistd.h
1 /* 1 /*
2 * Copyright 2004-2009 Analog Devices Inc. 2 * Copyright 2004-2009 Analog Devices Inc.
3 * 3 *
4 * Licensed under the GPL-2 or later. 4 * Licensed under the GPL-2 or later.
5 */ 5 */
6 #ifndef __ASM_BFIN_UNISTD_H 6 #ifndef __ASM_BFIN_UNISTD_H
7 #define __ASM_BFIN_UNISTD_H 7 #define __ASM_BFIN_UNISTD_H
8 8
9 #include <uapi/asm/unistd.h> 9 #include <uapi/asm/unistd.h>
10 10
11 #define __ARCH_WANT_STAT64 11 #define __ARCH_WANT_STAT64
12 #define __ARCH_WANT_SYS_ALARM 12 #define __ARCH_WANT_SYS_ALARM
13 #define __ARCH_WANT_SYS_GETHOSTNAME 13 #define __ARCH_WANT_SYS_GETHOSTNAME
14 #define __ARCH_WANT_SYS_PAUSE 14 #define __ARCH_WANT_SYS_PAUSE
15 #define __ARCH_WANT_SYS_SGETMASK 15 #define __ARCH_WANT_SYS_SGETMASK
16 #define __ARCH_WANT_SYS_TIME 16 #define __ARCH_WANT_SYS_TIME
17 #define __ARCH_WANT_SYS_FADVISE64 17 #define __ARCH_WANT_SYS_FADVISE64
18 #define __ARCH_WANT_SYS_GETPGRP 18 #define __ARCH_WANT_SYS_GETPGRP
19 #define __ARCH_WANT_SYS_LLSEEK 19 #define __ARCH_WANT_SYS_LLSEEK
20 #define __ARCH_WANT_SYS_NICE 20 #define __ARCH_WANT_SYS_NICE
21 #define __ARCH_WANT_SYS_VFORK 21 #define __ARCH_WANT_SYS_VFORK
22 22
23 /*
24 * "Conditional" syscalls
25 *
26 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
27 * but it doesn't work on all toolchains, so we just do it by hand
28 */
29 #define cond_syscall(x) asm(".weak\t_" #x "\n\t.set\t_" #x ",_sys_ni_syscall");
30
31 #endif /* __ASM_BFIN_UNISTD_H */ 23 #endif /* __ASM_BFIN_UNISTD_H */
32 24
arch/cris/include/asm/unistd.h
1 #ifndef _ASM_CRIS_UNISTD_H_ 1 #ifndef _ASM_CRIS_UNISTD_H_
2 #define _ASM_CRIS_UNISTD_H_ 2 #define _ASM_CRIS_UNISTD_H_
3 3
4 #include <uapi/asm/unistd.h> 4 #include <uapi/asm/unistd.h>
5 5
6 6
7 #define NR_syscalls 336 7 #define NR_syscalls 336
8 8
9 #include <arch/unistd.h> 9 #include <arch/unistd.h>
10 10
11 #define __ARCH_WANT_OLD_READDIR 11 #define __ARCH_WANT_OLD_READDIR
12 #define __ARCH_WANT_OLD_STAT 12 #define __ARCH_WANT_OLD_STAT
13 #define __ARCH_WANT_STAT64 13 #define __ARCH_WANT_STAT64
14 #define __ARCH_WANT_SYS_ALARM 14 #define __ARCH_WANT_SYS_ALARM
15 #define __ARCH_WANT_SYS_GETHOSTNAME 15 #define __ARCH_WANT_SYS_GETHOSTNAME
16 #define __ARCH_WANT_SYS_IPC 16 #define __ARCH_WANT_SYS_IPC
17 #define __ARCH_WANT_SYS_PAUSE 17 #define __ARCH_WANT_SYS_PAUSE
18 #define __ARCH_WANT_SYS_SGETMASK 18 #define __ARCH_WANT_SYS_SGETMASK
19 #define __ARCH_WANT_SYS_SIGNAL 19 #define __ARCH_WANT_SYS_SIGNAL
20 #define __ARCH_WANT_SYS_TIME 20 #define __ARCH_WANT_SYS_TIME
21 #define __ARCH_WANT_SYS_UTIME 21 #define __ARCH_WANT_SYS_UTIME
22 #define __ARCH_WANT_SYS_WAITPID 22 #define __ARCH_WANT_SYS_WAITPID
23 #define __ARCH_WANT_SYS_SOCKETCALL 23 #define __ARCH_WANT_SYS_SOCKETCALL
24 #define __ARCH_WANT_SYS_FADVISE64 24 #define __ARCH_WANT_SYS_FADVISE64
25 #define __ARCH_WANT_SYS_GETPGRP 25 #define __ARCH_WANT_SYS_GETPGRP
26 #define __ARCH_WANT_SYS_LLSEEK 26 #define __ARCH_WANT_SYS_LLSEEK
27 #define __ARCH_WANT_SYS_NICE 27 #define __ARCH_WANT_SYS_NICE
28 #define __ARCH_WANT_SYS_OLD_GETRLIMIT 28 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
29 #define __ARCH_WANT_SYS_OLD_MMAP 29 #define __ARCH_WANT_SYS_OLD_MMAP
30 #define __ARCH_WANT_SYS_OLDUMOUNT 30 #define __ARCH_WANT_SYS_OLDUMOUNT
31 #define __ARCH_WANT_SYS_SIGPENDING 31 #define __ARCH_WANT_SYS_SIGPENDING
32 #define __ARCH_WANT_SYS_SIGPROCMASK 32 #define __ARCH_WANT_SYS_SIGPROCMASK
33 #define __ARCH_WANT_SYS_FORK 33 #define __ARCH_WANT_SYS_FORK
34 #define __ARCH_WANT_SYS_VFORK 34 #define __ARCH_WANT_SYS_VFORK
35 #define __ARCH_WANT_SYS_CLONE 35 #define __ARCH_WANT_SYS_CLONE
36 36
37 /*
38 * "Conditional" syscalls
39 *
40 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
41 * but it doesn't work on all toolchains, so we just do it by hand
42 */
43 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
44
45 #endif /* _ASM_CRIS_UNISTD_H_ */ 37 #endif /* _ASM_CRIS_UNISTD_H_ */
46 38
arch/frv/include/asm/unistd.h
1 #ifndef _ASM_UNISTD_H_ 1 #ifndef _ASM_UNISTD_H_
2 #define _ASM_UNISTD_H_ 2 #define _ASM_UNISTD_H_
3 3
4 #include <uapi/asm/unistd.h> 4 #include <uapi/asm/unistd.h>
5 5
6 6
7 #define NR_syscalls 338 7 #define NR_syscalls 338
8 8
9 /* #define __ARCH_WANT_OLD_READDIR */ 9 /* #define __ARCH_WANT_OLD_READDIR */
10 #define __ARCH_WANT_OLD_STAT 10 #define __ARCH_WANT_OLD_STAT
11 #define __ARCH_WANT_STAT64 11 #define __ARCH_WANT_STAT64
12 #define __ARCH_WANT_SYS_ALARM 12 #define __ARCH_WANT_SYS_ALARM
13 /* #define __ARCH_WANT_SYS_GETHOSTNAME */ 13 /* #define __ARCH_WANT_SYS_GETHOSTNAME */
14 #define __ARCH_WANT_SYS_IPC 14 #define __ARCH_WANT_SYS_IPC
15 #define __ARCH_WANT_SYS_PAUSE 15 #define __ARCH_WANT_SYS_PAUSE
16 /* #define __ARCH_WANT_SYS_SGETMASK */ 16 /* #define __ARCH_WANT_SYS_SGETMASK */
17 /* #define __ARCH_WANT_SYS_SIGNAL */ 17 /* #define __ARCH_WANT_SYS_SIGNAL */
18 #define __ARCH_WANT_SYS_TIME 18 #define __ARCH_WANT_SYS_TIME
19 #define __ARCH_WANT_SYS_UTIME 19 #define __ARCH_WANT_SYS_UTIME
20 #define __ARCH_WANT_SYS_WAITPID 20 #define __ARCH_WANT_SYS_WAITPID
21 #define __ARCH_WANT_SYS_SOCKETCALL 21 #define __ARCH_WANT_SYS_SOCKETCALL
22 #define __ARCH_WANT_SYS_FADVISE64 22 #define __ARCH_WANT_SYS_FADVISE64
23 #define __ARCH_WANT_SYS_GETPGRP 23 #define __ARCH_WANT_SYS_GETPGRP
24 #define __ARCH_WANT_SYS_LLSEEK 24 #define __ARCH_WANT_SYS_LLSEEK
25 #define __ARCH_WANT_SYS_NICE 25 #define __ARCH_WANT_SYS_NICE
26 /* #define __ARCH_WANT_SYS_OLD_GETRLIMIT */ 26 /* #define __ARCH_WANT_SYS_OLD_GETRLIMIT */
27 #define __ARCH_WANT_SYS_OLDUMOUNT 27 #define __ARCH_WANT_SYS_OLDUMOUNT
28 /* #define __ARCH_WANT_SYS_SIGPENDING */ 28 /* #define __ARCH_WANT_SYS_SIGPENDING */
29 #define __ARCH_WANT_SYS_SIGPROCMASK 29 #define __ARCH_WANT_SYS_SIGPROCMASK
30 #define __ARCH_WANT_SYS_FORK 30 #define __ARCH_WANT_SYS_FORK
31 #define __ARCH_WANT_SYS_VFORK 31 #define __ARCH_WANT_SYS_VFORK
32 #define __ARCH_WANT_SYS_CLONE 32 #define __ARCH_WANT_SYS_CLONE
33 33
34 /*
35 * "Conditional" syscalls
36 *
37 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
38 * but it doesn't work on all toolchains, so we just do it by hand
39 */
40 #ifndef cond_syscall
41 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
42 #endif
43
44 #endif /* _ASM_UNISTD_H_ */ 34 #endif /* _ASM_UNISTD_H_ */
45 35
arch/h8300/include/asm/linkage.h
1 #ifndef _H8300_LINKAGE_H 1 #ifndef _H8300_LINKAGE_H
2 #define _H8300_LINKAGE_H 2 #define _H8300_LINKAGE_H
3 3
4 #undef SYMBOL_NAME_LABEL 4 #undef SYMBOL_NAME_LABEL
5 #undef SYMBOL_NAME
6 #define SYMBOL_NAME_LABEL(_name_) _##_name_##: 5 #define SYMBOL_NAME_LABEL(_name_) _##_name_##:
7 #define SYMBOL_NAME(_name_) _##_name_
8 #endif 6 #endif
9 7
arch/h8300/include/asm/unistd.h
1 #ifndef _ASM_H8300_UNISTD_H_ 1 #ifndef _ASM_H8300_UNISTD_H_
2 #define _ASM_H8300_UNISTD_H_ 2 #define _ASM_H8300_UNISTD_H_
3 3
4 #include <uapi/asm/unistd.h> 4 #include <uapi/asm/unistd.h>
5 5
6 6
7 #define NR_syscalls 321 7 #define NR_syscalls 321
8 8
9 #define __ARCH_WANT_OLD_READDIR 9 #define __ARCH_WANT_OLD_READDIR
10 #define __ARCH_WANT_OLD_STAT 10 #define __ARCH_WANT_OLD_STAT
11 #define __ARCH_WANT_STAT64 11 #define __ARCH_WANT_STAT64
12 #define __ARCH_WANT_SYS_ALARM 12 #define __ARCH_WANT_SYS_ALARM
13 #define __ARCH_WANT_SYS_GETHOSTNAME 13 #define __ARCH_WANT_SYS_GETHOSTNAME
14 #define __ARCH_WANT_SYS_IPC 14 #define __ARCH_WANT_SYS_IPC
15 #define __ARCH_WANT_SYS_PAUSE 15 #define __ARCH_WANT_SYS_PAUSE
16 #define __ARCH_WANT_SYS_SGETMASK 16 #define __ARCH_WANT_SYS_SGETMASK
17 #define __ARCH_WANT_SYS_SIGNAL 17 #define __ARCH_WANT_SYS_SIGNAL
18 #define __ARCH_WANT_SYS_TIME 18 #define __ARCH_WANT_SYS_TIME
19 #define __ARCH_WANT_SYS_UTIME 19 #define __ARCH_WANT_SYS_UTIME
20 #define __ARCH_WANT_SYS_WAITPID 20 #define __ARCH_WANT_SYS_WAITPID
21 #define __ARCH_WANT_SYS_SOCKETCALL 21 #define __ARCH_WANT_SYS_SOCKETCALL
22 #define __ARCH_WANT_SYS_FADVISE64 22 #define __ARCH_WANT_SYS_FADVISE64
23 #define __ARCH_WANT_SYS_GETPGRP 23 #define __ARCH_WANT_SYS_GETPGRP
24 #define __ARCH_WANT_SYS_LLSEEK 24 #define __ARCH_WANT_SYS_LLSEEK
25 #define __ARCH_WANT_SYS_NICE 25 #define __ARCH_WANT_SYS_NICE
26 #define __ARCH_WANT_SYS_OLD_GETRLIMIT 26 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
27 #define __ARCH_WANT_SYS_OLD_MMAP 27 #define __ARCH_WANT_SYS_OLD_MMAP
28 #define __ARCH_WANT_SYS_OLD_SELECT 28 #define __ARCH_WANT_SYS_OLD_SELECT
29 #define __ARCH_WANT_SYS_OLDUMOUNT 29 #define __ARCH_WANT_SYS_OLDUMOUNT
30 #define __ARCH_WANT_SYS_SIGPENDING 30 #define __ARCH_WANT_SYS_SIGPENDING
31 #define __ARCH_WANT_SYS_SIGPROCMASK 31 #define __ARCH_WANT_SYS_SIGPROCMASK
32 #define __ARCH_WANT_SYS_FORK 32 #define __ARCH_WANT_SYS_FORK
33 #define __ARCH_WANT_SYS_VFORK 33 #define __ARCH_WANT_SYS_VFORK
34 #define __ARCH_WANT_SYS_CLONE 34 #define __ARCH_WANT_SYS_CLONE
35 35
36 /*
37 * "Conditional" syscalls
38 */
39 #define cond_syscall(name) \
40 asm (".weak\t_" #name "\n" \
41 ".set\t_" #name ",_sys_ni_syscall");
42
43 #endif /* _ASM_H8300_UNISTD_H_ */ 36 #endif /* _ASM_H8300_UNISTD_H_ */
44 37
arch/ia64/include/asm/linkage.h
1 #ifndef __ASM_LINKAGE_H 1 #ifndef __ASM_LINKAGE_H
2 #define __ASM_LINKAGE_H 2 #define __ASM_LINKAGE_H
3 3
4 #ifndef __ASSEMBLY__ 4 #ifndef __ASSEMBLY__
5 5
6 #define asmlinkage CPP_ASMLINKAGE __attribute__((syscall_linkage)) 6 #define asmlinkage CPP_ASMLINKAGE __attribute__((syscall_linkage))
7 7
8 #else 8 #else
9 9
10 #include <asm/asmmacro.h> 10 #include <asm/asmmacro.h>
11 11
12 #endif 12 #endif
13 13
14 #define cond_syscall(x) asm(".weak\t" #x "#\n" #x "#\t=\tsys_ni_syscall#")
15 #define SYSCALL_ALIAS(alias, name) \
16 asm ( #alias "# = " #name "#\n\t.globl " #alias "#")
17
14 #endif 18 #endif
15 19
arch/ia64/include/asm/unistd.h
1 /* 1 /*
2 * IA-64 Linux syscall numbers and inline-functions. 2 * IA-64 Linux syscall numbers and inline-functions.
3 * 3 *
4 * Copyright (C) 1998-2005 Hewlett-Packard Co 4 * Copyright (C) 1998-2005 Hewlett-Packard Co
5 * David Mosberger-Tang <davidm@hpl.hp.com> 5 * David Mosberger-Tang <davidm@hpl.hp.com>
6 */ 6 */
7 #ifndef _ASM_IA64_UNISTD_H 7 #ifndef _ASM_IA64_UNISTD_H
8 #define _ASM_IA64_UNISTD_H 8 #define _ASM_IA64_UNISTD_H
9 9
10 #include <uapi/asm/unistd.h> 10 #include <uapi/asm/unistd.h>
11 11
12 12
13 13
14 #define NR_syscalls 312 /* length of syscall table */ 14 #define NR_syscalls 312 /* length of syscall table */
15 15
16 /* 16 /*
17 * The following defines stop scripts/checksyscalls.sh from complaining about 17 * The following defines stop scripts/checksyscalls.sh from complaining about
18 * unimplemented system calls. Glibc provides for each of these by using 18 * unimplemented system calls. Glibc provides for each of these by using
19 * more modern equivalent system calls. 19 * more modern equivalent system calls.
20 */ 20 */
21 #define __IGNORE_fork /* clone() */ 21 #define __IGNORE_fork /* clone() */
22 #define __IGNORE_time /* gettimeofday() */ 22 #define __IGNORE_time /* gettimeofday() */
23 #define __IGNORE_alarm /* setitimer(ITIMER_REAL, ... */ 23 #define __IGNORE_alarm /* setitimer(ITIMER_REAL, ... */
24 #define __IGNORE_pause /* rt_sigprocmask(), rt_sigsuspend() */ 24 #define __IGNORE_pause /* rt_sigprocmask(), rt_sigsuspend() */
25 #define __IGNORE_utime /* utimes() */ 25 #define __IGNORE_utime /* utimes() */
26 #define __IGNORE_getpgrp /* getpgid() */ 26 #define __IGNORE_getpgrp /* getpgid() */
27 #define __IGNORE_vfork /* clone() */ 27 #define __IGNORE_vfork /* clone() */
28 #define __IGNORE_umount2 /* umount() */ 28 #define __IGNORE_umount2 /* umount() */
29 29
30 #if !defined(__ASSEMBLY__) && !defined(ASSEMBLER) 30 #if !defined(__ASSEMBLY__) && !defined(ASSEMBLER)
31 31
32 #include <linux/types.h> 32 #include <linux/types.h>
33 #include <linux/linkage.h> 33 #include <linux/linkage.h>
34 #include <linux/compiler.h> 34 #include <linux/compiler.h>
35 35
36 extern long __ia64_syscall (long a0, long a1, long a2, long a3, long a4, long nr); 36 extern long __ia64_syscall (long a0, long a1, long a2, long a3, long a4, long nr);
37 37
38 asmlinkage unsigned long sys_mmap( 38 asmlinkage unsigned long sys_mmap(
39 unsigned long addr, unsigned long len, 39 unsigned long addr, unsigned long len,
40 int prot, int flags, 40 int prot, int flags,
41 int fd, long off); 41 int fd, long off);
42 asmlinkage unsigned long sys_mmap2( 42 asmlinkage unsigned long sys_mmap2(
43 unsigned long addr, unsigned long len, 43 unsigned long addr, unsigned long len,
44 int prot, int flags, 44 int prot, int flags,
45 int fd, long pgoff); 45 int fd, long pgoff);
46 struct pt_regs; 46 struct pt_regs;
47 asmlinkage long sys_ia64_pipe(void); 47 asmlinkage long sys_ia64_pipe(void);
48 48
49 /*
50 * "Conditional" syscalls
51 *
52 * Note, this macro can only be used in the file which defines sys_ni_syscall, i.e., in
53 * kernel/sys_ni.c. This version causes warnings because the declaration isn't a
54 * proper prototype, but we can't use __typeof__ either, because not all cond_syscall()
55 * declarations have prototypes at the moment.
56 */
57 #define cond_syscall(x) asmlinkage long x (void) __attribute__((weak,alias("sys_ni_syscall")))
58
59 #endif /* !__ASSEMBLY__ */ 49 #endif /* !__ASSEMBLY__ */
60 #endif /* _ASM_IA64_UNISTD_H */ 50 #endif /* _ASM_IA64_UNISTD_H */
61 51
arch/m32r/include/asm/unistd.h
1 #ifndef _ASM_M32R_UNISTD_H 1 #ifndef _ASM_M32R_UNISTD_H
2 #define _ASM_M32R_UNISTD_H 2 #define _ASM_M32R_UNISTD_H
3 3
4 #include <uapi/asm/unistd.h> 4 #include <uapi/asm/unistd.h>
5 5
6 6
7 #define NR_syscalls 326 7 #define NR_syscalls 326
8 8
9 #define __ARCH_WANT_STAT64 9 #define __ARCH_WANT_STAT64
10 #define __ARCH_WANT_SYS_ALARM 10 #define __ARCH_WANT_SYS_ALARM
11 #define __ARCH_WANT_SYS_GETHOSTNAME 11 #define __ARCH_WANT_SYS_GETHOSTNAME
12 #define __ARCH_WANT_SYS_IPC 12 #define __ARCH_WANT_SYS_IPC
13 #define __ARCH_WANT_SYS_PAUSE 13 #define __ARCH_WANT_SYS_PAUSE
14 #define __ARCH_WANT_SYS_TIME 14 #define __ARCH_WANT_SYS_TIME
15 #define __ARCH_WANT_SYS_UTIME 15 #define __ARCH_WANT_SYS_UTIME
16 #define __ARCH_WANT_SYS_WAITPID 16 #define __ARCH_WANT_SYS_WAITPID
17 #define __ARCH_WANT_SYS_SOCKETCALL 17 #define __ARCH_WANT_SYS_SOCKETCALL
18 #define __ARCH_WANT_SYS_FADVISE64 18 #define __ARCH_WANT_SYS_FADVISE64
19 #define __ARCH_WANT_SYS_GETPGRP 19 #define __ARCH_WANT_SYS_GETPGRP
20 #define __ARCH_WANT_SYS_LLSEEK 20 #define __ARCH_WANT_SYS_LLSEEK
21 #define __ARCH_WANT_SYS_OLD_GETRLIMIT /*will be unused*/ 21 #define __ARCH_WANT_SYS_OLD_GETRLIMIT /*will be unused*/
22 #define __ARCH_WANT_SYS_OLDUMOUNT 22 #define __ARCH_WANT_SYS_OLDUMOUNT
23 #define __ARCH_WANT_SYS_CLONE 23 #define __ARCH_WANT_SYS_CLONE
24 #define __ARCH_WANT_SYS_FORK 24 #define __ARCH_WANT_SYS_FORK
25 #define __ARCH_WANT_SYS_VFORK 25 #define __ARCH_WANT_SYS_VFORK
26 26
27 #define __IGNORE_lchown 27 #define __IGNORE_lchown
28 #define __IGNORE_setuid 28 #define __IGNORE_setuid
29 #define __IGNORE_getuid 29 #define __IGNORE_getuid
30 #define __IGNORE_setgid 30 #define __IGNORE_setgid
31 #define __IGNORE_getgid 31 #define __IGNORE_getgid
32 #define __IGNORE_geteuid 32 #define __IGNORE_geteuid
33 #define __IGNORE_getegid 33 #define __IGNORE_getegid
34 #define __IGNORE_fcntl 34 #define __IGNORE_fcntl
35 #define __IGNORE_setreuid 35 #define __IGNORE_setreuid
36 #define __IGNORE_setregid 36 #define __IGNORE_setregid
37 #define __IGNORE_getrlimit 37 #define __IGNORE_getrlimit
38 #define __IGNORE_getgroups 38 #define __IGNORE_getgroups
39 #define __IGNORE_setgroups 39 #define __IGNORE_setgroups
40 #define __IGNORE_select 40 #define __IGNORE_select
41 #define __IGNORE_mmap 41 #define __IGNORE_mmap
42 #define __IGNORE_fchown 42 #define __IGNORE_fchown
43 #define __IGNORE_setfsuid 43 #define __IGNORE_setfsuid
44 #define __IGNORE_setfsgid 44 #define __IGNORE_setfsgid
45 #define __IGNORE_setresuid 45 #define __IGNORE_setresuid
46 #define __IGNORE_getresuid 46 #define __IGNORE_getresuid
47 #define __IGNORE_setresgid 47 #define __IGNORE_setresgid
48 #define __IGNORE_getresgid 48 #define __IGNORE_getresgid
49 #define __IGNORE_chown 49 #define __IGNORE_chown
50 50
51 /*
52 * "Conditional" syscalls
53 *
54 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
55 * but it doesn't work on all toolchains, so we just do it by hand
56 */
57 #ifndef cond_syscall
58 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
59 #endif
60
61 #endif /* _ASM_M32R_UNISTD_H */ 51 #endif /* _ASM_M32R_UNISTD_H */
62 52
arch/m68k/include/asm/unistd.h
1 #ifndef _ASM_M68K_UNISTD_H_ 1 #ifndef _ASM_M68K_UNISTD_H_
2 #define _ASM_M68K_UNISTD_H_ 2 #define _ASM_M68K_UNISTD_H_
3 3
4 #include <uapi/asm/unistd.h> 4 #include <uapi/asm/unistd.h>
5 5
6 6
7 #define NR_syscalls 349 7 #define NR_syscalls 349
8 8
9 #define __ARCH_WANT_OLD_READDIR 9 #define __ARCH_WANT_OLD_READDIR
10 #define __ARCH_WANT_OLD_STAT 10 #define __ARCH_WANT_OLD_STAT
11 #define __ARCH_WANT_STAT64 11 #define __ARCH_WANT_STAT64
12 #define __ARCH_WANT_SYS_ALARM 12 #define __ARCH_WANT_SYS_ALARM
13 #define __ARCH_WANT_SYS_GETHOSTNAME 13 #define __ARCH_WANT_SYS_GETHOSTNAME
14 #define __ARCH_WANT_SYS_IPC 14 #define __ARCH_WANT_SYS_IPC
15 #define __ARCH_WANT_SYS_PAUSE 15 #define __ARCH_WANT_SYS_PAUSE
16 #define __ARCH_WANT_SYS_SGETMASK 16 #define __ARCH_WANT_SYS_SGETMASK
17 #define __ARCH_WANT_SYS_SIGNAL 17 #define __ARCH_WANT_SYS_SIGNAL
18 #define __ARCH_WANT_SYS_TIME 18 #define __ARCH_WANT_SYS_TIME
19 #define __ARCH_WANT_SYS_UTIME 19 #define __ARCH_WANT_SYS_UTIME
20 #define __ARCH_WANT_SYS_WAITPID 20 #define __ARCH_WANT_SYS_WAITPID
21 #define __ARCH_WANT_SYS_SOCKETCALL 21 #define __ARCH_WANT_SYS_SOCKETCALL
22 #define __ARCH_WANT_SYS_FADVISE64 22 #define __ARCH_WANT_SYS_FADVISE64
23 #define __ARCH_WANT_SYS_GETPGRP 23 #define __ARCH_WANT_SYS_GETPGRP
24 #define __ARCH_WANT_SYS_LLSEEK 24 #define __ARCH_WANT_SYS_LLSEEK
25 #define __ARCH_WANT_SYS_NICE 25 #define __ARCH_WANT_SYS_NICE
26 #define __ARCH_WANT_SYS_OLD_GETRLIMIT 26 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
27 #define __ARCH_WANT_SYS_OLD_MMAP 27 #define __ARCH_WANT_SYS_OLD_MMAP
28 #define __ARCH_WANT_SYS_OLD_SELECT 28 #define __ARCH_WANT_SYS_OLD_SELECT
29 #define __ARCH_WANT_SYS_OLDUMOUNT 29 #define __ARCH_WANT_SYS_OLDUMOUNT
30 #define __ARCH_WANT_SYS_SIGPENDING 30 #define __ARCH_WANT_SYS_SIGPENDING
31 #define __ARCH_WANT_SYS_SIGPROCMASK 31 #define __ARCH_WANT_SYS_SIGPROCMASK
32 #define __ARCH_WANT_SYS_FORK 32 #define __ARCH_WANT_SYS_FORK
33 #define __ARCH_WANT_SYS_VFORK 33 #define __ARCH_WANT_SYS_VFORK
34 34
35 /*
36 * "Conditional" syscalls
37 *
38 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
39 * but it doesn't work on all toolchains, so we just do it by hand
40 */
41 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
42
43 #endif /* _ASM_M68K_UNISTD_H_ */ 35 #endif /* _ASM_M68K_UNISTD_H_ */
44 36
arch/microblaze/include/asm/unistd.h
1 /* 1 /*
2 * Copyright (C) 2007-2008 Michal Simek <monstr@monstr.eu> 2 * Copyright (C) 2007-2008 Michal Simek <monstr@monstr.eu>
3 * Copyright (C) 2006 Atmark Techno, Inc. 3 * Copyright (C) 2006 Atmark Techno, Inc.
4 * 4 *
5 * This file is subject to the terms and conditions of the GNU General Public 5 * This file is subject to the terms and conditions of the GNU General Public
6 * License. See the file "COPYING" in the main directory of this archive 6 * License. See the file "COPYING" in the main directory of this archive
7 * for more details. 7 * for more details.
8 */ 8 */
9 #ifndef _ASM_MICROBLAZE_UNISTD_H 9 #ifndef _ASM_MICROBLAZE_UNISTD_H
10 #define _ASM_MICROBLAZE_UNISTD_H 10 #define _ASM_MICROBLAZE_UNISTD_H
11 11
12 #include <uapi/asm/unistd.h> 12 #include <uapi/asm/unistd.h>
13 13
14 #ifndef __ASSEMBLY__ 14 #ifndef __ASSEMBLY__
15 15
16 /* #define __ARCH_WANT_OLD_READDIR */ 16 /* #define __ARCH_WANT_OLD_READDIR */
17 /* #define __ARCH_WANT_OLD_STAT */ 17 /* #define __ARCH_WANT_OLD_STAT */
18 #define __ARCH_WANT_STAT64 18 #define __ARCH_WANT_STAT64
19 #define __ARCH_WANT_SYS_ALARM 19 #define __ARCH_WANT_SYS_ALARM
20 #define __ARCH_WANT_SYS_GETHOSTNAME 20 #define __ARCH_WANT_SYS_GETHOSTNAME
21 #define __ARCH_WANT_SYS_PAUSE 21 #define __ARCH_WANT_SYS_PAUSE
22 #define __ARCH_WANT_SYS_SGETMASK 22 #define __ARCH_WANT_SYS_SGETMASK
23 #define __ARCH_WANT_SYS_SIGNAL 23 #define __ARCH_WANT_SYS_SIGNAL
24 #define __ARCH_WANT_SYS_TIME 24 #define __ARCH_WANT_SYS_TIME
25 #define __ARCH_WANT_SYS_UTIME 25 #define __ARCH_WANT_SYS_UTIME
26 #define __ARCH_WANT_SYS_WAITPID 26 #define __ARCH_WANT_SYS_WAITPID
27 #define __ARCH_WANT_SYS_SOCKETCALL 27 #define __ARCH_WANT_SYS_SOCKETCALL
28 #define __ARCH_WANT_SYS_FADVISE64 28 #define __ARCH_WANT_SYS_FADVISE64
29 #define __ARCH_WANT_SYS_GETPGRP 29 #define __ARCH_WANT_SYS_GETPGRP
30 #define __ARCH_WANT_SYS_LLSEEK 30 #define __ARCH_WANT_SYS_LLSEEK
31 #define __ARCH_WANT_SYS_NICE 31 #define __ARCH_WANT_SYS_NICE
32 /* #define __ARCH_WANT_SYS_OLD_GETRLIMIT */ 32 /* #define __ARCH_WANT_SYS_OLD_GETRLIMIT */
33 #define __ARCH_WANT_SYS_OLDUMOUNT 33 #define __ARCH_WANT_SYS_OLDUMOUNT
34 #define __ARCH_WANT_SYS_SIGPENDING 34 #define __ARCH_WANT_SYS_SIGPENDING
35 #define __ARCH_WANT_SYS_SIGPROCMASK 35 #define __ARCH_WANT_SYS_SIGPROCMASK
36 #define __ARCH_WANT_SYS_CLONE 36 #define __ARCH_WANT_SYS_CLONE
37 #define __ARCH_WANT_SYS_VFORK 37 #define __ARCH_WANT_SYS_VFORK
38 #define __ARCH_WANT_SYS_FORK 38 #define __ARCH_WANT_SYS_FORK
39 39
40 /*
41 * "Conditional" syscalls
42 *
43 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
44 * but it doesn't work on all toolchains, so we just do it by hand
45 */
46 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall");
47
48 #endif /* __ASSEMBLY__ */ 40 #endif /* __ASSEMBLY__ */
49 #endif /* _ASM_MICROBLAZE_UNISTD_H */ 41 #endif /* _ASM_MICROBLAZE_UNISTD_H */
50 42
arch/mips/include/asm/linkage.h
1 #ifndef __ASM_LINKAGE_H 1 #ifndef __ASM_LINKAGE_H
2 #define __ASM_LINKAGE_H 2 #define __ASM_LINKAGE_H
3 3
4 #ifdef __ASSEMBLY__ 4 #ifdef __ASSEMBLY__
5 #include <asm/asm.h> 5 #include <asm/asm.h>
6 #endif 6 #endif
7 7
8 #define __weak __attribute__((weak)) 8 #define __weak __attribute__((weak))
9 #define cond_syscall(x) asm(".weak\t" #x "\n" #x "\t=\tsys_ni_syscall")
10 #define SYSCALL_ALIAS(alias, name) \
11 asm ( #alias " = " #name "\n\t.globl " #alias)
9 12
10 #endif 13 #endif
11 14
arch/mips/include/asm/unistd.h
1 /* 1 /*
2 * This file is subject to the terms and conditions of the GNU General Public 2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive 3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details. 4 * for more details.
5 * 5 *
6 * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle 6 * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle
7 * Copyright (C) 1999, 2000 Silicon Graphics, Inc. 7 * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
8 * 8 *
9 * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto 9 * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto
10 * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A 10 * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A
11 */ 11 */
12 #ifndef _ASM_UNISTD_H 12 #ifndef _ASM_UNISTD_H
13 #define _ASM_UNISTD_H 13 #define _ASM_UNISTD_H
14 14
15 #include <uapi/asm/unistd.h> 15 #include <uapi/asm/unistd.h>
16 16
17 17
18 #ifndef __ASSEMBLY__ 18 #ifndef __ASSEMBLY__
19 19
20 #define __ARCH_OMIT_COMPAT_SYS_GETDENTS64 20 #define __ARCH_OMIT_COMPAT_SYS_GETDENTS64
21 #define __ARCH_WANT_OLD_READDIR 21 #define __ARCH_WANT_OLD_READDIR
22 #define __ARCH_WANT_SYS_ALARM 22 #define __ARCH_WANT_SYS_ALARM
23 #define __ARCH_WANT_SYS_GETHOSTNAME 23 #define __ARCH_WANT_SYS_GETHOSTNAME
24 #define __ARCH_WANT_SYS_IPC 24 #define __ARCH_WANT_SYS_IPC
25 #define __ARCH_WANT_SYS_PAUSE 25 #define __ARCH_WANT_SYS_PAUSE
26 #define __ARCH_WANT_SYS_SGETMASK 26 #define __ARCH_WANT_SYS_SGETMASK
27 #define __ARCH_WANT_SYS_UTIME 27 #define __ARCH_WANT_SYS_UTIME
28 #define __ARCH_WANT_SYS_WAITPID 28 #define __ARCH_WANT_SYS_WAITPID
29 #define __ARCH_WANT_SYS_SOCKETCALL 29 #define __ARCH_WANT_SYS_SOCKETCALL
30 #define __ARCH_WANT_SYS_GETPGRP 30 #define __ARCH_WANT_SYS_GETPGRP
31 #define __ARCH_WANT_SYS_LLSEEK 31 #define __ARCH_WANT_SYS_LLSEEK
32 #define __ARCH_WANT_SYS_NICE 32 #define __ARCH_WANT_SYS_NICE
33 #define __ARCH_WANT_SYS_OLD_GETRLIMIT 33 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
34 #define __ARCH_WANT_SYS_OLD_UNAME 34 #define __ARCH_WANT_SYS_OLD_UNAME
35 #define __ARCH_WANT_SYS_OLDUMOUNT 35 #define __ARCH_WANT_SYS_OLDUMOUNT
36 #define __ARCH_WANT_SYS_SIGPENDING 36 #define __ARCH_WANT_SYS_SIGPENDING
37 #define __ARCH_WANT_SYS_SIGPROCMASK 37 #define __ARCH_WANT_SYS_SIGPROCMASK
38 # ifdef CONFIG_32BIT 38 # ifdef CONFIG_32BIT
39 # define __ARCH_WANT_STAT64 39 # define __ARCH_WANT_STAT64
40 # define __ARCH_WANT_SYS_TIME 40 # define __ARCH_WANT_SYS_TIME
41 # endif 41 # endif
42 # ifdef CONFIG_MIPS32_O32 42 # ifdef CONFIG_MIPS32_O32
43 # define __ARCH_WANT_COMPAT_SYS_TIME 43 # define __ARCH_WANT_COMPAT_SYS_TIME
44 # endif 44 # endif
45 #define __ARCH_WANT_SYS_FORK 45 #define __ARCH_WANT_SYS_FORK
46 #define __ARCH_WANT_SYS_CLONE 46 #define __ARCH_WANT_SYS_CLONE
47 47
48 /* whitelists for checksyscalls */ 48 /* whitelists for checksyscalls */
49 #define __IGNORE_select 49 #define __IGNORE_select
50 #define __IGNORE_vfork 50 #define __IGNORE_vfork
51 #define __IGNORE_time 51 #define __IGNORE_time
52 #define __IGNORE_uselib 52 #define __IGNORE_uselib
53 #define __IGNORE_fadvise64_64 53 #define __IGNORE_fadvise64_64
54 #define __IGNORE_getdents64 54 #define __IGNORE_getdents64
55 #if _MIPS_SIM == _MIPS_SIM_NABI32 55 #if _MIPS_SIM == _MIPS_SIM_NABI32
56 #define __IGNORE_truncate64 56 #define __IGNORE_truncate64
57 #define __IGNORE_ftruncate64 57 #define __IGNORE_ftruncate64
58 #define __IGNORE_stat64 58 #define __IGNORE_stat64
59 #define __IGNORE_lstat64 59 #define __IGNORE_lstat64
60 #define __IGNORE_fstat64 60 #define __IGNORE_fstat64
61 #define __IGNORE_fstatat64 61 #define __IGNORE_fstatat64
62 #endif 62 #endif
63 63
64 #endif /* !__ASSEMBLY__ */ 64 #endif /* !__ASSEMBLY__ */
65 65
66 /*
67 * "Conditional" syscalls
68 *
69 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
70 * but it doesn't work on all toolchains, so we just do it by hand
71 */
72 #define cond_syscall(x) asm(".weak\t" #x "\n" #x "\t=\tsys_ni_syscall")
73
74 #endif /* _ASM_UNISTD_H */ 66 #endif /* _ASM_UNISTD_H */
75 67
arch/mn10300/include/asm/unistd.h
1 /* MN10300 System call number list 1 /* MN10300 System call number list
2 * 2 *
3 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. 3 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
4 * Written by David Howells (dhowells@redhat.com) 4 * Written by David Howells (dhowells@redhat.com)
5 * 5 *
6 * This program is free software; you can redistribute it and/or 6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public Licence 7 * modify it under the terms of the GNU General Public Licence
8 * as published by the Free Software Foundation; either version 8 * as published by the Free Software Foundation; either version
9 * 2 of the Licence, or (at your option) any later version. 9 * 2 of the Licence, or (at your option) any later version.
10 */ 10 */
11 #ifndef _ASM_UNISTD_H 11 #ifndef _ASM_UNISTD_H
12 #define _ASM_UNISTD_H 12 #define _ASM_UNISTD_H
13 13
14 #include <uapi/asm/unistd.h> 14 #include <uapi/asm/unistd.h>
15 15
16 16
17 #define NR_syscalls 340 17 #define NR_syscalls 340
18 18
19 /* 19 /*
20 * specify the deprecated syscalls we want to support on this arch 20 * specify the deprecated syscalls we want to support on this arch
21 */ 21 */
22 #define __ARCH_WANT_OLD_READDIR 22 #define __ARCH_WANT_OLD_READDIR
23 #define __ARCH_WANT_OLD_STAT 23 #define __ARCH_WANT_OLD_STAT
24 #define __ARCH_WANT_STAT64 24 #define __ARCH_WANT_STAT64
25 #define __ARCH_WANT_SYS_ALARM 25 #define __ARCH_WANT_SYS_ALARM
26 #define __ARCH_WANT_SYS_GETHOSTNAME 26 #define __ARCH_WANT_SYS_GETHOSTNAME
27 #define __ARCH_WANT_SYS_IPC 27 #define __ARCH_WANT_SYS_IPC
28 #define __ARCH_WANT_SYS_PAUSE 28 #define __ARCH_WANT_SYS_PAUSE
29 #define __ARCH_WANT_SYS_SGETMASK 29 #define __ARCH_WANT_SYS_SGETMASK
30 #define __ARCH_WANT_SYS_SIGNAL 30 #define __ARCH_WANT_SYS_SIGNAL
31 #define __ARCH_WANT_SYS_TIME 31 #define __ARCH_WANT_SYS_TIME
32 #define __ARCH_WANT_SYS_UTIME 32 #define __ARCH_WANT_SYS_UTIME
33 #define __ARCH_WANT_SYS_WAITPID 33 #define __ARCH_WANT_SYS_WAITPID
34 #define __ARCH_WANT_SYS_SOCKETCALL 34 #define __ARCH_WANT_SYS_SOCKETCALL
35 #define __ARCH_WANT_SYS_FADVISE64 35 #define __ARCH_WANT_SYS_FADVISE64
36 #define __ARCH_WANT_SYS_GETPGRP 36 #define __ARCH_WANT_SYS_GETPGRP
37 #define __ARCH_WANT_SYS_LLSEEK 37 #define __ARCH_WANT_SYS_LLSEEK
38 #define __ARCH_WANT_SYS_NICE 38 #define __ARCH_WANT_SYS_NICE
39 #define __ARCH_WANT_SYS_OLD_GETRLIMIT 39 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
40 #define __ARCH_WANT_SYS_OLD_SELECT 40 #define __ARCH_WANT_SYS_OLD_SELECT
41 #define __ARCH_WANT_SYS_OLDUMOUNT 41 #define __ARCH_WANT_SYS_OLDUMOUNT
42 #define __ARCH_WANT_SYS_SIGPENDING 42 #define __ARCH_WANT_SYS_SIGPENDING
43 #define __ARCH_WANT_SYS_SIGPROCMASK 43 #define __ARCH_WANT_SYS_SIGPROCMASK
44 #define __ARCH_WANT_SYS_FORK 44 #define __ARCH_WANT_SYS_FORK
45 #define __ARCH_WANT_SYS_VFORK 45 #define __ARCH_WANT_SYS_VFORK
46 #define __ARCH_WANT_SYS_CLONE 46 #define __ARCH_WANT_SYS_CLONE
47 47
48 /*
49 * "Conditional" syscalls
50 *
51 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
52 * but it doesn't work on all toolchains, so we just do it by hand
53 */
54 #ifndef cond_syscall
55 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall");
56 #endif
57
58 #endif /* _ASM_UNISTD_H */ 48 #endif /* _ASM_UNISTD_H */
59 49
arch/parisc/include/asm/unistd.h
1 #ifndef _ASM_PARISC_UNISTD_H_ 1 #ifndef _ASM_PARISC_UNISTD_H_
2 #define _ASM_PARISC_UNISTD_H_ 2 #define _ASM_PARISC_UNISTD_H_
3 3
4 #include <uapi/asm/unistd.h> 4 #include <uapi/asm/unistd.h>
5 5
6 #ifndef __ASSEMBLY__ 6 #ifndef __ASSEMBLY__
7 7
8 #define SYS_ify(syscall_name) __NR_##syscall_name 8 #define SYS_ify(syscall_name) __NR_##syscall_name
9 9
10 #ifndef ASM_LINE_SEP 10 #ifndef ASM_LINE_SEP
11 # define ASM_LINE_SEP ; 11 # define ASM_LINE_SEP ;
12 #endif 12 #endif
13 13
14 /* Definition taken from glibc 2.3.3 14 /* Definition taken from glibc 2.3.3
15 * sysdeps/unix/sysv/linux/hppa/sysdep.h 15 * sysdeps/unix/sysv/linux/hppa/sysdep.h
16 */ 16 */
17 17
18 #ifdef PIC 18 #ifdef PIC
19 /* WARNING: CANNOT BE USED IN A NOP! */ 19 /* WARNING: CANNOT BE USED IN A NOP! */
20 # define K_STW_ASM_PIC " copy %%r19, %%r4\n" 20 # define K_STW_ASM_PIC " copy %%r19, %%r4\n"
21 # define K_LDW_ASM_PIC " copy %%r4, %%r19\n" 21 # define K_LDW_ASM_PIC " copy %%r4, %%r19\n"
22 # define K_USING_GR4 "%r4", 22 # define K_USING_GR4 "%r4",
23 #else 23 #else
24 # define K_STW_ASM_PIC " \n" 24 # define K_STW_ASM_PIC " \n"
25 # define K_LDW_ASM_PIC " \n" 25 # define K_LDW_ASM_PIC " \n"
26 # define K_USING_GR4 26 # define K_USING_GR4
27 #endif 27 #endif
28 28
29 /* GCC has to be warned that a syscall may clobber all the ABI 29 /* GCC has to be warned that a syscall may clobber all the ABI
30 registers listed as "caller-saves", see page 8, Table 2 30 registers listed as "caller-saves", see page 8, Table 2
31 in section 2.2.6 of the PA-RISC RUN-TIME architecture 31 in section 2.2.6 of the PA-RISC RUN-TIME architecture
32 document. However! r28 is the result and will conflict with 32 document. However! r28 is the result and will conflict with
33 the clobber list so it is left out. Also the input arguments 33 the clobber list so it is left out. Also the input arguments
34 registers r20 -> r26 will conflict with the list so they 34 registers r20 -> r26 will conflict with the list so they
35 are treated specially. Although r19 is clobbered by the syscall 35 are treated specially. Although r19 is clobbered by the syscall
36 we cannot say this because it would violate ABI, thus we say 36 we cannot say this because it would violate ABI, thus we say
37 r4 is clobbered and use that register to save/restore r19 37 r4 is clobbered and use that register to save/restore r19
38 across the syscall. */ 38 across the syscall. */
39 39
40 #define K_CALL_CLOB_REGS "%r1", "%r2", K_USING_GR4 \ 40 #define K_CALL_CLOB_REGS "%r1", "%r2", K_USING_GR4 \
41 "%r20", "%r29", "%r31" 41 "%r20", "%r29", "%r31"
42 42
43 #undef K_INLINE_SYSCALL 43 #undef K_INLINE_SYSCALL
44 #define K_INLINE_SYSCALL(name, nr, args...) ({ \ 44 #define K_INLINE_SYSCALL(name, nr, args...) ({ \
45 long __sys_res; \ 45 long __sys_res; \
46 { \ 46 { \
47 register unsigned long __res __asm__("r28"); \ 47 register unsigned long __res __asm__("r28"); \
48 K_LOAD_ARGS_##nr(args) \ 48 K_LOAD_ARGS_##nr(args) \
49 /* FIXME: HACK stw/ldw r19 around syscall */ \ 49 /* FIXME: HACK stw/ldw r19 around syscall */ \
50 __asm__ volatile( \ 50 __asm__ volatile( \
51 K_STW_ASM_PIC \ 51 K_STW_ASM_PIC \
52 " ble 0x100(%%sr2, %%r0)\n" \ 52 " ble 0x100(%%sr2, %%r0)\n" \
53 " ldi %1, %%r20\n" \ 53 " ldi %1, %%r20\n" \
54 K_LDW_ASM_PIC \ 54 K_LDW_ASM_PIC \
55 : "=r" (__res) \ 55 : "=r" (__res) \
56 : "i" (SYS_ify(name)) K_ASM_ARGS_##nr \ 56 : "i" (SYS_ify(name)) K_ASM_ARGS_##nr \
57 : "memory", K_CALL_CLOB_REGS K_CLOB_ARGS_##nr \ 57 : "memory", K_CALL_CLOB_REGS K_CLOB_ARGS_##nr \
58 ); \ 58 ); \
59 __sys_res = (long)__res; \ 59 __sys_res = (long)__res; \
60 } \ 60 } \
61 if ( (unsigned long)__sys_res >= (unsigned long)-4095 ){ \ 61 if ( (unsigned long)__sys_res >= (unsigned long)-4095 ){ \
62 errno = -__sys_res; \ 62 errno = -__sys_res; \
63 __sys_res = -1; \ 63 __sys_res = -1; \
64 } \ 64 } \
65 __sys_res; \ 65 __sys_res; \
66 }) 66 })
67 67
68 #define K_LOAD_ARGS_0() 68 #define K_LOAD_ARGS_0()
69 #define K_LOAD_ARGS_1(r26) \ 69 #define K_LOAD_ARGS_1(r26) \
70 register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \ 70 register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \
71 K_LOAD_ARGS_0() 71 K_LOAD_ARGS_0()
72 #define K_LOAD_ARGS_2(r26,r25) \ 72 #define K_LOAD_ARGS_2(r26,r25) \
73 register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \ 73 register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \
74 K_LOAD_ARGS_1(r26) 74 K_LOAD_ARGS_1(r26)
75 #define K_LOAD_ARGS_3(r26,r25,r24) \ 75 #define K_LOAD_ARGS_3(r26,r25,r24) \
76 register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \ 76 register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \
77 K_LOAD_ARGS_2(r26,r25) 77 K_LOAD_ARGS_2(r26,r25)
78 #define K_LOAD_ARGS_4(r26,r25,r24,r23) \ 78 #define K_LOAD_ARGS_4(r26,r25,r24,r23) \
79 register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \ 79 register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \
80 K_LOAD_ARGS_3(r26,r25,r24) 80 K_LOAD_ARGS_3(r26,r25,r24)
81 #define K_LOAD_ARGS_5(r26,r25,r24,r23,r22) \ 81 #define K_LOAD_ARGS_5(r26,r25,r24,r23,r22) \
82 register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \ 82 register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \
83 K_LOAD_ARGS_4(r26,r25,r24,r23) 83 K_LOAD_ARGS_4(r26,r25,r24,r23)
84 #define K_LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \ 84 #define K_LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \
85 register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \ 85 register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \
86 K_LOAD_ARGS_5(r26,r25,r24,r23,r22) 86 K_LOAD_ARGS_5(r26,r25,r24,r23,r22)
87 87
88 /* Even with zero args we use r20 for the syscall number */ 88 /* Even with zero args we use r20 for the syscall number */
89 #define K_ASM_ARGS_0 89 #define K_ASM_ARGS_0
90 #define K_ASM_ARGS_1 K_ASM_ARGS_0, "r" (__r26) 90 #define K_ASM_ARGS_1 K_ASM_ARGS_0, "r" (__r26)
91 #define K_ASM_ARGS_2 K_ASM_ARGS_1, "r" (__r25) 91 #define K_ASM_ARGS_2 K_ASM_ARGS_1, "r" (__r25)
92 #define K_ASM_ARGS_3 K_ASM_ARGS_2, "r" (__r24) 92 #define K_ASM_ARGS_3 K_ASM_ARGS_2, "r" (__r24)
93 #define K_ASM_ARGS_4 K_ASM_ARGS_3, "r" (__r23) 93 #define K_ASM_ARGS_4 K_ASM_ARGS_3, "r" (__r23)
94 #define K_ASM_ARGS_5 K_ASM_ARGS_4, "r" (__r22) 94 #define K_ASM_ARGS_5 K_ASM_ARGS_4, "r" (__r22)
95 #define K_ASM_ARGS_6 K_ASM_ARGS_5, "r" (__r21) 95 #define K_ASM_ARGS_6 K_ASM_ARGS_5, "r" (__r21)
96 96
97 /* The registers not listed as inputs but clobbered */ 97 /* The registers not listed as inputs but clobbered */
98 #define K_CLOB_ARGS_6 98 #define K_CLOB_ARGS_6
99 #define K_CLOB_ARGS_5 K_CLOB_ARGS_6, "%r21" 99 #define K_CLOB_ARGS_5 K_CLOB_ARGS_6, "%r21"
100 #define K_CLOB_ARGS_4 K_CLOB_ARGS_5, "%r22" 100 #define K_CLOB_ARGS_4 K_CLOB_ARGS_5, "%r22"
101 #define K_CLOB_ARGS_3 K_CLOB_ARGS_4, "%r23" 101 #define K_CLOB_ARGS_3 K_CLOB_ARGS_4, "%r23"
102 #define K_CLOB_ARGS_2 K_CLOB_ARGS_3, "%r24" 102 #define K_CLOB_ARGS_2 K_CLOB_ARGS_3, "%r24"
103 #define K_CLOB_ARGS_1 K_CLOB_ARGS_2, "%r25" 103 #define K_CLOB_ARGS_1 K_CLOB_ARGS_2, "%r25"
104 #define K_CLOB_ARGS_0 K_CLOB_ARGS_1, "%r26" 104 #define K_CLOB_ARGS_0 K_CLOB_ARGS_1, "%r26"
105 105
106 #define _syscall0(type,name) \ 106 #define _syscall0(type,name) \
107 type name(void) \ 107 type name(void) \
108 { \ 108 { \
109 return K_INLINE_SYSCALL(name, 0); \ 109 return K_INLINE_SYSCALL(name, 0); \
110 } 110 }
111 111
112 #define _syscall1(type,name,type1,arg1) \ 112 #define _syscall1(type,name,type1,arg1) \
113 type name(type1 arg1) \ 113 type name(type1 arg1) \
114 { \ 114 { \
115 return K_INLINE_SYSCALL(name, 1, arg1); \ 115 return K_INLINE_SYSCALL(name, 1, arg1); \
116 } 116 }
117 117
118 #define _syscall2(type,name,type1,arg1,type2,arg2) \ 118 #define _syscall2(type,name,type1,arg1,type2,arg2) \
119 type name(type1 arg1, type2 arg2) \ 119 type name(type1 arg1, type2 arg2) \
120 { \ 120 { \
121 return K_INLINE_SYSCALL(name, 2, arg1, arg2); \ 121 return K_INLINE_SYSCALL(name, 2, arg1, arg2); \
122 } 122 }
123 123
124 #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \ 124 #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
125 type name(type1 arg1, type2 arg2, type3 arg3) \ 125 type name(type1 arg1, type2 arg2, type3 arg3) \
126 { \ 126 { \
127 return K_INLINE_SYSCALL(name, 3, arg1, arg2, arg3); \ 127 return K_INLINE_SYSCALL(name, 3, arg1, arg2, arg3); \
128 } 128 }
129 129
130 #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ 130 #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
131 type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ 131 type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
132 { \ 132 { \
133 return K_INLINE_SYSCALL(name, 4, arg1, arg2, arg3, arg4); \ 133 return K_INLINE_SYSCALL(name, 4, arg1, arg2, arg3, arg4); \
134 } 134 }
135 135
136 /* select takes 5 arguments */ 136 /* select takes 5 arguments */
137 #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \ 137 #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \
138 type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \ 138 type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
139 { \ 139 { \
140 return K_INLINE_SYSCALL(name, 5, arg1, arg2, arg3, arg4, arg5); \ 140 return K_INLINE_SYSCALL(name, 5, arg1, arg2, arg3, arg4, arg5); \
141 } 141 }
142 142
143 #define __ARCH_WANT_OLD_READDIR 143 #define __ARCH_WANT_OLD_READDIR
144 #define __ARCH_WANT_STAT64 144 #define __ARCH_WANT_STAT64
145 #define __ARCH_WANT_SYS_ALARM 145 #define __ARCH_WANT_SYS_ALARM
146 #define __ARCH_WANT_SYS_GETHOSTNAME 146 #define __ARCH_WANT_SYS_GETHOSTNAME
147 #define __ARCH_WANT_SYS_PAUSE 147 #define __ARCH_WANT_SYS_PAUSE
148 #define __ARCH_WANT_SYS_SGETMASK 148 #define __ARCH_WANT_SYS_SGETMASK
149 #define __ARCH_WANT_SYS_SIGNAL 149 #define __ARCH_WANT_SYS_SIGNAL
150 #define __ARCH_WANT_SYS_TIME 150 #define __ARCH_WANT_SYS_TIME
151 #define __ARCH_WANT_COMPAT_SYS_TIME 151 #define __ARCH_WANT_COMPAT_SYS_TIME
152 #define __ARCH_WANT_COMPAT_SYS_SCHED_RR_GET_INTERVAL 152 #define __ARCH_WANT_COMPAT_SYS_SCHED_RR_GET_INTERVAL
153 #define __ARCH_WANT_SYS_UTIME 153 #define __ARCH_WANT_SYS_UTIME
154 #define __ARCH_WANT_SYS_WAITPID 154 #define __ARCH_WANT_SYS_WAITPID
155 #define __ARCH_WANT_SYS_SOCKETCALL 155 #define __ARCH_WANT_SYS_SOCKETCALL
156 #define __ARCH_WANT_SYS_FADVISE64 156 #define __ARCH_WANT_SYS_FADVISE64
157 #define __ARCH_WANT_SYS_GETPGRP 157 #define __ARCH_WANT_SYS_GETPGRP
158 #define __ARCH_WANT_SYS_LLSEEK 158 #define __ARCH_WANT_SYS_LLSEEK
159 #define __ARCH_WANT_SYS_NICE 159 #define __ARCH_WANT_SYS_NICE
160 #define __ARCH_WANT_SYS_OLD_GETRLIMIT 160 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
161 #define __ARCH_WANT_SYS_OLDUMOUNT 161 #define __ARCH_WANT_SYS_OLDUMOUNT
162 #define __ARCH_WANT_SYS_SIGPENDING 162 #define __ARCH_WANT_SYS_SIGPENDING
163 #define __ARCH_WANT_SYS_SIGPROCMASK 163 #define __ARCH_WANT_SYS_SIGPROCMASK
164 #define __ARCH_WANT_SYS_FORK 164 #define __ARCH_WANT_SYS_FORK
165 #define __ARCH_WANT_SYS_VFORK 165 #define __ARCH_WANT_SYS_VFORK
166 #define __ARCH_WANT_SYS_CLONE 166 #define __ARCH_WANT_SYS_CLONE
167 #define __ARCH_WANT_COMPAT_SYS_SENDFILE 167 #define __ARCH_WANT_COMPAT_SYS_SENDFILE
168 168
169 #endif /* __ASSEMBLY__ */ 169 #endif /* __ASSEMBLY__ */
170 170
171 #undef STR 171 #undef STR
172 172
173 /*
174 * "Conditional" syscalls
175 *
176 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
177 * but it doesn't work on all toolchains, so we just do it by hand
178 */
179 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
180
181 #endif /* _ASM_PARISC_UNISTD_H_ */ 173 #endif /* _ASM_PARISC_UNISTD_H_ */
182 174
arch/powerpc/include/asm/linkage.h
File was created 1 #ifndef _ASM_POWERPC_LINKAGE_H
2 #define _ASM_POWERPC_LINKAGE_H
3
4 #ifdef CONFIG_PPC64
5 #define cond_syscall(x) \
6 asm ("\t.weak " #x "\n\t.set " #x ", sys_ni_syscall\n" \
7 "\t.weak ." #x "\n\t.set ." #x ", .sys_ni_syscall\n")
8 #define SYSCALL_ALIAS(alias, name) \
9 asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n" \
10 "\t.globl ." #alias "\n\t.set ." #alias ", ." #name)
11 #endif
12
13 #endif /* _ASM_POWERPC_LINKAGE_H */
14
arch/powerpc/include/asm/unistd.h
1 /* 1 /*
2 * This file contains the system call numbers. 2 * This file contains the system call numbers.
3 * 3 *
4 * This program is free software; you can redistribute it and/or 4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License 5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version 6 * as published by the Free Software Foundation; either version
7 * 2 of the License, or (at your option) any later version. 7 * 2 of the License, or (at your option) any later version.
8 */ 8 */
9 #ifndef _ASM_POWERPC_UNISTD_H_ 9 #ifndef _ASM_POWERPC_UNISTD_H_
10 #define _ASM_POWERPC_UNISTD_H_ 10 #define _ASM_POWERPC_UNISTD_H_
11 11
12 #include <uapi/asm/unistd.h> 12 #include <uapi/asm/unistd.h>
13 13
14 14
15 #define __NR_syscalls 354 15 #define __NR_syscalls 354
16 16
17 #define __NR__exit __NR_exit 17 #define __NR__exit __NR_exit
18 #define NR_syscalls __NR_syscalls 18 #define NR_syscalls __NR_syscalls
19 19
20 #ifndef __ASSEMBLY__ 20 #ifndef __ASSEMBLY__
21 21
22 #include <linux/types.h> 22 #include <linux/types.h>
23 #include <linux/compiler.h> 23 #include <linux/compiler.h>
24 #include <linux/linkage.h> 24 #include <linux/linkage.h>
25 25
26 #define __ARCH_WANT_OLD_READDIR 26 #define __ARCH_WANT_OLD_READDIR
27 #define __ARCH_WANT_STAT64 27 #define __ARCH_WANT_STAT64
28 #define __ARCH_WANT_SYS_ALARM 28 #define __ARCH_WANT_SYS_ALARM
29 #define __ARCH_WANT_SYS_GETHOSTNAME 29 #define __ARCH_WANT_SYS_GETHOSTNAME
30 #define __ARCH_WANT_SYS_IPC 30 #define __ARCH_WANT_SYS_IPC
31 #define __ARCH_WANT_SYS_PAUSE 31 #define __ARCH_WANT_SYS_PAUSE
32 #define __ARCH_WANT_SYS_SGETMASK 32 #define __ARCH_WANT_SYS_SGETMASK
33 #define __ARCH_WANT_SYS_SIGNAL 33 #define __ARCH_WANT_SYS_SIGNAL
34 #define __ARCH_WANT_SYS_TIME 34 #define __ARCH_WANT_SYS_TIME
35 #define __ARCH_WANT_SYS_UTIME 35 #define __ARCH_WANT_SYS_UTIME
36 #define __ARCH_WANT_SYS_WAITPID 36 #define __ARCH_WANT_SYS_WAITPID
37 #define __ARCH_WANT_SYS_SOCKETCALL 37 #define __ARCH_WANT_SYS_SOCKETCALL
38 #define __ARCH_WANT_SYS_FADVISE64 38 #define __ARCH_WANT_SYS_FADVISE64
39 #define __ARCH_WANT_SYS_GETPGRP 39 #define __ARCH_WANT_SYS_GETPGRP
40 #define __ARCH_WANT_SYS_LLSEEK 40 #define __ARCH_WANT_SYS_LLSEEK
41 #define __ARCH_WANT_SYS_NICE 41 #define __ARCH_WANT_SYS_NICE
42 #define __ARCH_WANT_SYS_OLD_GETRLIMIT 42 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
43 #define __ARCH_WANT_SYS_OLD_UNAME 43 #define __ARCH_WANT_SYS_OLD_UNAME
44 #define __ARCH_WANT_SYS_OLDUMOUNT 44 #define __ARCH_WANT_SYS_OLDUMOUNT
45 #define __ARCH_WANT_SYS_SIGPENDING 45 #define __ARCH_WANT_SYS_SIGPENDING
46 #define __ARCH_WANT_SYS_SIGPROCMASK 46 #define __ARCH_WANT_SYS_SIGPROCMASK
47 #ifdef CONFIG_PPC32 47 #ifdef CONFIG_PPC32
48 #define __ARCH_WANT_OLD_STAT 48 #define __ARCH_WANT_OLD_STAT
49 #endif 49 #endif
50 #ifdef CONFIG_PPC64 50 #ifdef CONFIG_PPC64
51 #define __ARCH_WANT_COMPAT_SYS_TIME 51 #define __ARCH_WANT_COMPAT_SYS_TIME
52 #define __ARCH_WANT_SYS_NEWFSTATAT 52 #define __ARCH_WANT_SYS_NEWFSTATAT
53 #define __ARCH_WANT_COMPAT_SYS_SENDFILE 53 #define __ARCH_WANT_COMPAT_SYS_SENDFILE
54 #endif 54 #endif
55 #define __ARCH_WANT_SYS_FORK 55 #define __ARCH_WANT_SYS_FORK
56 #define __ARCH_WANT_SYS_VFORK 56 #define __ARCH_WANT_SYS_VFORK
57 #define __ARCH_WANT_SYS_CLONE 57 #define __ARCH_WANT_SYS_CLONE
58 58
59 /*
60 * "Conditional" syscalls
61 */
62 #define cond_syscall(x) \
63 asmlinkage long x (void) __attribute__((weak,alias("sys_ni_syscall")))
64
65 #endif /* __ASSEMBLY__ */ 59 #endif /* __ASSEMBLY__ */
66 #endif /* _ASM_POWERPC_UNISTD_H_ */ 60 #endif /* _ASM_POWERPC_UNISTD_H_ */
67 61
arch/powerpc/include/uapi/asm/linkage.h
1 #ifndef _ASM_POWERPC_LINKAGE_H File was deleted
2 #define _ASM_POWERPC_LINKAGE_H
3
4 /* Nothing to see here... */
5
6 #endif /* _ASM_POWERPC_LINKAGE_H */
7 1 #ifndef _ASM_POWERPC_LINKAGE_H
arch/s390/include/asm/unistd.h
1 /* 1 /*
2 * S390 version 2 * S390 version
3 * 3 *
4 * Derived from "include/asm-i386/unistd.h" 4 * Derived from "include/asm-i386/unistd.h"
5 */ 5 */
6 #ifndef _ASM_S390_UNISTD_H_ 6 #ifndef _ASM_S390_UNISTD_H_
7 #define _ASM_S390_UNISTD_H_ 7 #define _ASM_S390_UNISTD_H_
8 8
9 #include <uapi/asm/unistd.h> 9 #include <uapi/asm/unistd.h>
10 10
11 11
12 #ifndef CONFIG_64BIT 12 #ifndef CONFIG_64BIT
13 #define __IGNORE_select 13 #define __IGNORE_select
14 #else 14 #else
15 #define __IGNORE_time 15 #define __IGNORE_time
16 #endif 16 #endif
17 17
18 /* Ignore NUMA system calls. Not wired up on s390. */ 18 /* Ignore NUMA system calls. Not wired up on s390. */
19 #define __IGNORE_mbind 19 #define __IGNORE_mbind
20 #define __IGNORE_get_mempolicy 20 #define __IGNORE_get_mempolicy
21 #define __IGNORE_set_mempolicy 21 #define __IGNORE_set_mempolicy
22 #define __IGNORE_migrate_pages 22 #define __IGNORE_migrate_pages
23 #define __IGNORE_move_pages 23 #define __IGNORE_move_pages
24 24
25 /* Ignore system calls that are also reachable via sys_socket */ 25 /* Ignore system calls that are also reachable via sys_socket */
26 #define __IGNORE_recvmmsg 26 #define __IGNORE_recvmmsg
27 #define __IGNORE_sendmmsg 27 #define __IGNORE_sendmmsg
28 28
29 #define __ARCH_WANT_OLD_READDIR 29 #define __ARCH_WANT_OLD_READDIR
30 #define __ARCH_WANT_SYS_ALARM 30 #define __ARCH_WANT_SYS_ALARM
31 #define __ARCH_WANT_SYS_GETHOSTNAME 31 #define __ARCH_WANT_SYS_GETHOSTNAME
32 #define __ARCH_WANT_SYS_PAUSE 32 #define __ARCH_WANT_SYS_PAUSE
33 #define __ARCH_WANT_SYS_SIGNAL 33 #define __ARCH_WANT_SYS_SIGNAL
34 #define __ARCH_WANT_SYS_UTIME 34 #define __ARCH_WANT_SYS_UTIME
35 #define __ARCH_WANT_SYS_SOCKETCALL 35 #define __ARCH_WANT_SYS_SOCKETCALL
36 #define __ARCH_WANT_SYS_IPC 36 #define __ARCH_WANT_SYS_IPC
37 #define __ARCH_WANT_SYS_FADVISE64 37 #define __ARCH_WANT_SYS_FADVISE64
38 #define __ARCH_WANT_SYS_GETPGRP 38 #define __ARCH_WANT_SYS_GETPGRP
39 #define __ARCH_WANT_SYS_LLSEEK 39 #define __ARCH_WANT_SYS_LLSEEK
40 #define __ARCH_WANT_SYS_NICE 40 #define __ARCH_WANT_SYS_NICE
41 #define __ARCH_WANT_SYS_OLD_GETRLIMIT 41 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
42 #define __ARCH_WANT_SYS_OLD_MMAP 42 #define __ARCH_WANT_SYS_OLD_MMAP
43 #define __ARCH_WANT_SYS_OLDUMOUNT 43 #define __ARCH_WANT_SYS_OLDUMOUNT
44 #define __ARCH_WANT_SYS_SIGPENDING 44 #define __ARCH_WANT_SYS_SIGPENDING
45 #define __ARCH_WANT_SYS_SIGPROCMASK 45 #define __ARCH_WANT_SYS_SIGPROCMASK
46 # ifndef CONFIG_64BIT 46 # ifndef CONFIG_64BIT
47 # define __ARCH_WANT_STAT64 47 # define __ARCH_WANT_STAT64
48 # define __ARCH_WANT_SYS_TIME 48 # define __ARCH_WANT_SYS_TIME
49 # endif 49 # endif
50 # ifdef CONFIG_COMPAT 50 # ifdef CONFIG_COMPAT
51 # define __ARCH_WANT_COMPAT_SYS_TIME 51 # define __ARCH_WANT_COMPAT_SYS_TIME
52 # endif 52 # endif
53 #define __ARCH_WANT_SYS_FORK 53 #define __ARCH_WANT_SYS_FORK
54 #define __ARCH_WANT_SYS_VFORK 54 #define __ARCH_WANT_SYS_VFORK
55 #define __ARCH_WANT_SYS_CLONE 55 #define __ARCH_WANT_SYS_CLONE
56 56
57 /*
58 * "Conditional" syscalls
59 *
60 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
61 * but it doesn't work on all toolchains, so we just do it by hand
62 */
63 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
64
65 #endif /* _ASM_S390_UNISTD_H_ */ 57 #endif /* _ASM_S390_UNISTD_H_ */
66 58
arch/sh/include/asm/unistd.h
1 # ifdef CONFIG_SUPERH32 1 # ifdef CONFIG_SUPERH32
2 # include <asm/unistd_32.h> 2 # include <asm/unistd_32.h>
3 # else 3 # else
4 # include <asm/unistd_64.h> 4 # include <asm/unistd_64.h>
5 # endif 5 # endif
6 6
7 # define __ARCH_WANT_OLD_READDIR 7 # define __ARCH_WANT_OLD_READDIR
8 # define __ARCH_WANT_OLD_STAT 8 # define __ARCH_WANT_OLD_STAT
9 # define __ARCH_WANT_STAT64 9 # define __ARCH_WANT_STAT64
10 # define __ARCH_WANT_SYS_ALARM 10 # define __ARCH_WANT_SYS_ALARM
11 # define __ARCH_WANT_SYS_GETHOSTNAME 11 # define __ARCH_WANT_SYS_GETHOSTNAME
12 # define __ARCH_WANT_SYS_IPC 12 # define __ARCH_WANT_SYS_IPC
13 # define __ARCH_WANT_SYS_PAUSE 13 # define __ARCH_WANT_SYS_PAUSE
14 # define __ARCH_WANT_SYS_SGETMASK 14 # define __ARCH_WANT_SYS_SGETMASK
15 # define __ARCH_WANT_SYS_SIGNAL 15 # define __ARCH_WANT_SYS_SIGNAL
16 # define __ARCH_WANT_SYS_TIME 16 # define __ARCH_WANT_SYS_TIME
17 # define __ARCH_WANT_SYS_UTIME 17 # define __ARCH_WANT_SYS_UTIME
18 # define __ARCH_WANT_SYS_WAITPID 18 # define __ARCH_WANT_SYS_WAITPID
19 # define __ARCH_WANT_SYS_SOCKETCALL 19 # define __ARCH_WANT_SYS_SOCKETCALL
20 # define __ARCH_WANT_SYS_FADVISE64 20 # define __ARCH_WANT_SYS_FADVISE64
21 # define __ARCH_WANT_SYS_GETPGRP 21 # define __ARCH_WANT_SYS_GETPGRP
22 # define __ARCH_WANT_SYS_LLSEEK 22 # define __ARCH_WANT_SYS_LLSEEK
23 # define __ARCH_WANT_SYS_NICE 23 # define __ARCH_WANT_SYS_NICE
24 # define __ARCH_WANT_SYS_OLD_GETRLIMIT 24 # define __ARCH_WANT_SYS_OLD_GETRLIMIT
25 # define __ARCH_WANT_SYS_OLD_UNAME 25 # define __ARCH_WANT_SYS_OLD_UNAME
26 # define __ARCH_WANT_SYS_OLDUMOUNT 26 # define __ARCH_WANT_SYS_OLDUMOUNT
27 # define __ARCH_WANT_SYS_SIGPENDING 27 # define __ARCH_WANT_SYS_SIGPENDING
28 # define __ARCH_WANT_SYS_SIGPROCMASK 28 # define __ARCH_WANT_SYS_SIGPROCMASK
29 # define __ARCH_WANT_SYS_FORK 29 # define __ARCH_WANT_SYS_FORK
30 # define __ARCH_WANT_SYS_VFORK 30 # define __ARCH_WANT_SYS_VFORK
31 # define __ARCH_WANT_SYS_CLONE 31 # define __ARCH_WANT_SYS_CLONE
32 32
33 /*
34 * "Conditional" syscalls
35 *
36 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
37 * but it doesn't work on all toolchains, so we just do it by hand
38 */
39 # define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
40
41 #include <uapi/asm/unistd.h> 33 #include <uapi/asm/unistd.h>
42 34
arch/sparc/include/asm/unistd.h
1 /* 1 /*
2 * System calls under the Sparc. 2 * System calls under the Sparc.
3 * 3 *
4 * Don't be scared by the ugly clobbers, it is the only way I can 4 * Don't be scared by the ugly clobbers, it is the only way I can
5 * think of right now to force the arguments into fixed registers 5 * think of right now to force the arguments into fixed registers
6 * before the trap into the system call with gcc 'asm' statements. 6 * before the trap into the system call with gcc 'asm' statements.
7 * 7 *
8 * Copyright (C) 1995, 2007 David S. Miller (davem@davemloft.net) 8 * Copyright (C) 1995, 2007 David S. Miller (davem@davemloft.net)
9 * 9 *
10 * SunOS compatibility based upon preliminary work which is: 10 * SunOS compatibility based upon preliminary work which is:
11 * 11 *
12 * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu) 12 * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
13 */ 13 */
14 #ifndef _SPARC_UNISTD_H 14 #ifndef _SPARC_UNISTD_H
15 #define _SPARC_UNISTD_H 15 #define _SPARC_UNISTD_H
16 16
17 #include <uapi/asm/unistd.h> 17 #include <uapi/asm/unistd.h>
18 18
19 #ifdef __32bit_syscall_numbers__ 19 #ifdef __32bit_syscall_numbers__
20 #else 20 #else
21 #define __NR_time 231 /* Linux sparc32 */ 21 #define __NR_time 231 /* Linux sparc32 */
22 #endif 22 #endif
23 #define __ARCH_WANT_OLD_READDIR 23 #define __ARCH_WANT_OLD_READDIR
24 #define __ARCH_WANT_STAT64 24 #define __ARCH_WANT_STAT64
25 #define __ARCH_WANT_SYS_ALARM 25 #define __ARCH_WANT_SYS_ALARM
26 #define __ARCH_WANT_SYS_GETHOSTNAME 26 #define __ARCH_WANT_SYS_GETHOSTNAME
27 #define __ARCH_WANT_SYS_PAUSE 27 #define __ARCH_WANT_SYS_PAUSE
28 #define __ARCH_WANT_SYS_SGETMASK 28 #define __ARCH_WANT_SYS_SGETMASK
29 #define __ARCH_WANT_SYS_SIGNAL 29 #define __ARCH_WANT_SYS_SIGNAL
30 #define __ARCH_WANT_SYS_TIME 30 #define __ARCH_WANT_SYS_TIME
31 #define __ARCH_WANT_SYS_UTIME 31 #define __ARCH_WANT_SYS_UTIME
32 #define __ARCH_WANT_SYS_WAITPID 32 #define __ARCH_WANT_SYS_WAITPID
33 #define __ARCH_WANT_SYS_SOCKETCALL 33 #define __ARCH_WANT_SYS_SOCKETCALL
34 #define __ARCH_WANT_SYS_FADVISE64 34 #define __ARCH_WANT_SYS_FADVISE64
35 #define __ARCH_WANT_SYS_GETPGRP 35 #define __ARCH_WANT_SYS_GETPGRP
36 #define __ARCH_WANT_SYS_LLSEEK 36 #define __ARCH_WANT_SYS_LLSEEK
37 #define __ARCH_WANT_SYS_NICE 37 #define __ARCH_WANT_SYS_NICE
38 #define __ARCH_WANT_SYS_OLDUMOUNT 38 #define __ARCH_WANT_SYS_OLDUMOUNT
39 #define __ARCH_WANT_SYS_SIGPENDING 39 #define __ARCH_WANT_SYS_SIGPENDING
40 #define __ARCH_WANT_SYS_SIGPROCMASK 40 #define __ARCH_WANT_SYS_SIGPROCMASK
41 #ifdef __32bit_syscall_numbers__ 41 #ifdef __32bit_syscall_numbers__
42 #define __ARCH_WANT_SYS_IPC 42 #define __ARCH_WANT_SYS_IPC
43 #else 43 #else
44 #define __ARCH_WANT_COMPAT_SYS_TIME 44 #define __ARCH_WANT_COMPAT_SYS_TIME
45 #define __ARCH_WANT_COMPAT_SYS_SENDFILE 45 #define __ARCH_WANT_COMPAT_SYS_SENDFILE
46 #endif 46 #endif
47 47
48 /*
49 * "Conditional" syscalls
50 *
51 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
52 * but it doesn't work on all toolchains, so we just do it by hand
53 */
54 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
55
56 #endif /* _SPARC_UNISTD_H */ 48 #endif /* _SPARC_UNISTD_H */
57 49
arch/x86/include/asm/unistd.h
1 #ifndef _ASM_X86_UNISTD_H 1 #ifndef _ASM_X86_UNISTD_H
2 #define _ASM_X86_UNISTD_H 1 2 #define _ASM_X86_UNISTD_H 1
3 3
4 #include <uapi/asm/unistd.h> 4 #include <uapi/asm/unistd.h>
5 5
6 6
7 # ifdef CONFIG_X86_X32_ABI 7 # ifdef CONFIG_X86_X32_ABI
8 # define __SYSCALL_MASK (~(__X32_SYSCALL_BIT)) 8 # define __SYSCALL_MASK (~(__X32_SYSCALL_BIT))
9 # else 9 # else
10 # define __SYSCALL_MASK (~0) 10 # define __SYSCALL_MASK (~0)
11 # endif 11 # endif
12 12
13 # ifdef CONFIG_X86_32 13 # ifdef CONFIG_X86_32
14 14
15 # include <asm/unistd_32.h> 15 # include <asm/unistd_32.h>
16 # define __ARCH_WANT_STAT64 16 # define __ARCH_WANT_STAT64
17 # define __ARCH_WANT_SYS_IPC 17 # define __ARCH_WANT_SYS_IPC
18 # define __ARCH_WANT_SYS_OLD_MMAP 18 # define __ARCH_WANT_SYS_OLD_MMAP
19 # define __ARCH_WANT_SYS_OLD_SELECT 19 # define __ARCH_WANT_SYS_OLD_SELECT
20 20
21 # else 21 # else
22 22
23 # include <asm/unistd_64.h> 23 # include <asm/unistd_64.h>
24 # include <asm/unistd_64_x32.h> 24 # include <asm/unistd_64_x32.h>
25 # define __ARCH_WANT_COMPAT_SYS_TIME 25 # define __ARCH_WANT_COMPAT_SYS_TIME
26 26
27 # endif 27 # endif
28 28
29 # define __ARCH_WANT_OLD_READDIR 29 # define __ARCH_WANT_OLD_READDIR
30 # define __ARCH_WANT_OLD_STAT 30 # define __ARCH_WANT_OLD_STAT
31 # define __ARCH_WANT_SYS_ALARM 31 # define __ARCH_WANT_SYS_ALARM
32 # define __ARCH_WANT_SYS_FADVISE64 32 # define __ARCH_WANT_SYS_FADVISE64
33 # define __ARCH_WANT_SYS_GETHOSTNAME 33 # define __ARCH_WANT_SYS_GETHOSTNAME
34 # define __ARCH_WANT_SYS_GETPGRP 34 # define __ARCH_WANT_SYS_GETPGRP
35 # define __ARCH_WANT_SYS_LLSEEK 35 # define __ARCH_WANT_SYS_LLSEEK
36 # define __ARCH_WANT_SYS_NICE 36 # define __ARCH_WANT_SYS_NICE
37 # define __ARCH_WANT_SYS_OLDUMOUNT 37 # define __ARCH_WANT_SYS_OLDUMOUNT
38 # define __ARCH_WANT_SYS_OLD_GETRLIMIT 38 # define __ARCH_WANT_SYS_OLD_GETRLIMIT
39 # define __ARCH_WANT_SYS_OLD_UNAME 39 # define __ARCH_WANT_SYS_OLD_UNAME
40 # define __ARCH_WANT_SYS_PAUSE 40 # define __ARCH_WANT_SYS_PAUSE
41 # define __ARCH_WANT_SYS_SGETMASK 41 # define __ARCH_WANT_SYS_SGETMASK
42 # define __ARCH_WANT_SYS_SIGNAL 42 # define __ARCH_WANT_SYS_SIGNAL
43 # define __ARCH_WANT_SYS_SIGPENDING 43 # define __ARCH_WANT_SYS_SIGPENDING
44 # define __ARCH_WANT_SYS_SIGPROCMASK 44 # define __ARCH_WANT_SYS_SIGPROCMASK
45 # define __ARCH_WANT_SYS_SOCKETCALL 45 # define __ARCH_WANT_SYS_SOCKETCALL
46 # define __ARCH_WANT_SYS_TIME 46 # define __ARCH_WANT_SYS_TIME
47 # define __ARCH_WANT_SYS_UTIME 47 # define __ARCH_WANT_SYS_UTIME
48 # define __ARCH_WANT_SYS_WAITPID 48 # define __ARCH_WANT_SYS_WAITPID
49 # define __ARCH_WANT_SYS_FORK 49 # define __ARCH_WANT_SYS_FORK
50 # define __ARCH_WANT_SYS_VFORK 50 # define __ARCH_WANT_SYS_VFORK
51 # define __ARCH_WANT_SYS_CLONE 51 # define __ARCH_WANT_SYS_CLONE
52 52
53 /*
54 * "Conditional" syscalls
55 *
56 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
57 * but it doesn't work on all toolchains, so we just do it by hand
58 */
59 # define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
60
61 #endif /* _ASM_X86_UNISTD_H */ 53 #endif /* _ASM_X86_UNISTD_H */
62 54
arch/xtensa/include/asm/unistd.h
1 #ifndef _XTENSA_UNISTD_H 1 #ifndef _XTENSA_UNISTD_H
2 #define _XTENSA_UNISTD_H 2 #define _XTENSA_UNISTD_H
3 3
4 #define __ARCH_WANT_SYS_CLONE 4 #define __ARCH_WANT_SYS_CLONE
5 #include <uapi/asm/unistd.h> 5 #include <uapi/asm/unistd.h>
6 6
7 /*
8 * "Conditional" syscalls
9 *
10 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
11 * but it doesn't work on all toolchains, so we just do it by hand
12 */
13 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall");
14
15 #define __ARCH_WANT_STAT64 7 #define __ARCH_WANT_STAT64
16 #define __ARCH_WANT_SYS_UTIME 8 #define __ARCH_WANT_SYS_UTIME
17 #define __ARCH_WANT_SYS_LLSEEK 9 #define __ARCH_WANT_SYS_LLSEEK
18 #define __ARCH_WANT_SYS_GETPGRP 10 #define __ARCH_WANT_SYS_GETPGRP
19 11
20 /* 12 /*
21 * Ignore legacy system calls in the checksyscalls.sh script 13 * Ignore legacy system calls in the checksyscalls.sh script
22 */ 14 */
23 15
24 #define __IGNORE_fork /* use clone */ 16 #define __IGNORE_fork /* use clone */
25 #define __IGNORE_time 17 #define __IGNORE_time
26 #define __IGNORE_alarm /* use setitimer */ 18 #define __IGNORE_alarm /* use setitimer */
27 #define __IGNORE_pause 19 #define __IGNORE_pause
28 #define __IGNORE_mmap /* use mmap2 */ 20 #define __IGNORE_mmap /* use mmap2 */
29 #define __IGNORE_vfork /* use clone */ 21 #define __IGNORE_vfork /* use clone */
30 #define __IGNORE_fadvise64 /* use fadvise64_64 */ 22 #define __IGNORE_fadvise64 /* use fadvise64_64 */
31 23
32 #endif /* _XTENSA_UNISTD_H */ 24 #endif /* _XTENSA_UNISTD_H */
33 25
include/asm-generic/unistd.h
1 #include <uapi/asm-generic/unistd.h> 1 #include <uapi/asm-generic/unistd.h>
2 2
3 /* 3 /*
4 * These are required system calls, we should 4 * These are required system calls, we should
5 * invert the logic eventually and let them 5 * invert the logic eventually and let them
6 * be selected by default. 6 * be selected by default.
7 */ 7 */
8 #if __BITS_PER_LONG == 32 8 #if __BITS_PER_LONG == 32
9 #define __ARCH_WANT_STAT64 9 #define __ARCH_WANT_STAT64
10 #define __ARCH_WANT_SYS_LLSEEK 10 #define __ARCH_WANT_SYS_LLSEEK
11 #endif 11 #endif
12
13 /*
14 * "Conditional" syscalls
15 *
16 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
17 * but it doesn't work on all toolchains, so we just do it by hand
18 */
19 #ifndef cond_syscall
20 #ifdef CONFIG_SYMBOL_PREFIX
21 #define __SYMBOL_PREFIX CONFIG_SYMBOL_PREFIX
22 #else
23 #define __SYMBOL_PREFIX
24 #endif
25 #define cond_syscall(x) asm(".weak\t" __SYMBOL_PREFIX #x "\n\t" \
26 ".set\t" __SYMBOL_PREFIX #x "," \
27 __SYMBOL_PREFIX "sys_ni_syscall")
28 #endif
29 12
include/linux/linkage.h
1 #ifndef _LINUX_LINKAGE_H 1 #ifndef _LINUX_LINKAGE_H
2 #define _LINUX_LINKAGE_H 2 #define _LINUX_LINKAGE_H
3 3
4 #include <linux/compiler.h> 4 #include <linux/compiler.h>
5 #include <linux/stringify.h>
5 #include <asm/linkage.h> 6 #include <asm/linkage.h>
6 7
7 #ifdef __cplusplus 8 #ifdef __cplusplus
8 #define CPP_ASMLINKAGE extern "C" 9 #define CPP_ASMLINKAGE extern "C"
9 #else 10 #else
10 #define CPP_ASMLINKAGE 11 #define CPP_ASMLINKAGE
11 #endif 12 #endif
12 13
13 #ifndef asmlinkage 14 #ifndef asmlinkage
14 #define asmlinkage CPP_ASMLINKAGE 15 #define asmlinkage CPP_ASMLINKAGE
16 #endif
17
18 #ifndef SYMBOL_NAME
19 #ifdef CONFIG_SYMBOL_PREFIX
20 #define SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX ## x
21 #else
22 #define SYMBOL_NAME(x) x
23 #endif
24 #endif
25 #define __SYMBOL_NAME(x) __stringify(SYMBOL_NAME(x))
26
27 #ifndef cond_syscall
28 #define cond_syscall(x) asm(".weak\t" __SYMBOL_NAME(x) \
29 "\n\t.set\t" __SYMBOL_NAME(x) "," __SYMBOL_NAME(sys_ni_syscall));
30 #endif
31
32 #ifndef SYSCALL_ALIAS
33 #define SYSCALL_ALIAS(alias, name) \
34 asm ("\t.globl " __SYMBOL_NAME(alias) \
35 "\n\t.set\t" __SYMBOL_NAME(alias) "," __SYMBOL_NAME(name))
15 #endif 36 #endif
16 37
17 #define __page_aligned_data __section(.data..page_aligned) __aligned(PAGE_SIZE) 38 #define __page_aligned_data __section(.data..page_aligned) __aligned(PAGE_SIZE)
18 #define __page_aligned_bss __section(.bss..page_aligned) __aligned(PAGE_SIZE) 39 #define __page_aligned_bss __section(.bss..page_aligned) __aligned(PAGE_SIZE)
19 40
20 /* 41 /*
21 * For assembly routines. 42 * For assembly routines.
22 * 43 *
23 * Note when using these that you must specify the appropriate 44 * Note when using these that you must specify the appropriate
24 * alignment directives yourself 45 * alignment directives yourself
25 */ 46 */
26 #define __PAGE_ALIGNED_DATA .section ".data..page_aligned", "aw" 47 #define __PAGE_ALIGNED_DATA .section ".data..page_aligned", "aw"
27 #define __PAGE_ALIGNED_BSS .section ".bss..page_aligned", "aw" 48 #define __PAGE_ALIGNED_BSS .section ".bss..page_aligned", "aw"
28 49
29 /* 50 /*
30 * This is used by architectures to keep arguments on the stack 51 * This is used by architectures to keep arguments on the stack
31 * untouched by the compiler by keeping them live until the end. 52 * untouched by the compiler by keeping them live until the end.
32 * The argument stack may be owned by the assembly-language 53 * The argument stack may be owned by the assembly-language
33 * caller, not the callee, and gcc doesn't always understand 54 * caller, not the callee, and gcc doesn't always understand
34 * that. 55 * that.
35 * 56 *
36 * We have the return value, and a maximum of six arguments. 57 * We have the return value, and a maximum of six arguments.
37 * 58 *
38 * This should always be followed by a "return ret" for the 59 * This should always be followed by a "return ret" for the
39 * protection to work (ie no more work that the compiler might 60 * protection to work (ie no more work that the compiler might
40 * end up needing stack temporaries for). 61 * end up needing stack temporaries for).
41 */ 62 */
42 /* Assembly files may be compiled with -traditional .. */ 63 /* Assembly files may be compiled with -traditional .. */
43 #ifndef __ASSEMBLY__ 64 #ifndef __ASSEMBLY__
44 #ifndef asmlinkage_protect 65 #ifndef asmlinkage_protect
45 # define asmlinkage_protect(n, ret, args...) do { } while (0) 66 # define asmlinkage_protect(n, ret, args...) do { } while (0)
46 #endif 67 #endif
47 #endif 68 #endif
48 69
49 #ifndef __ALIGN 70 #ifndef __ALIGN
50 #define __ALIGN .align 4,0x90 71 #define __ALIGN .align 4,0x90
51 #define __ALIGN_STR ".align 4,0x90" 72 #define __ALIGN_STR ".align 4,0x90"
52 #endif 73 #endif
53 74
54 #ifdef __ASSEMBLY__ 75 #ifdef __ASSEMBLY__
55 76
56 #ifndef LINKER_SCRIPT 77 #ifndef LINKER_SCRIPT
57 #define ALIGN __ALIGN 78 #define ALIGN __ALIGN
58 #define ALIGN_STR __ALIGN_STR 79 #define ALIGN_STR __ALIGN_STR
59 80
60 #ifndef ENTRY 81 #ifndef ENTRY
61 #define ENTRY(name) \ 82 #define ENTRY(name) \
62 .globl name; \ 83 .globl name; \
63 ALIGN; \ 84 ALIGN; \
64 name: 85 name:
65 #endif 86 #endif
66 #endif /* LINKER_SCRIPT */ 87 #endif /* LINKER_SCRIPT */
67 88
68 #ifndef WEAK 89 #ifndef WEAK
69 #define WEAK(name) \ 90 #define WEAK(name) \
70 .weak name; \ 91 .weak name; \
71 name: 92 name:
72 #endif 93 #endif
73 94
74 #ifndef END 95 #ifndef END
75 #define END(name) \ 96 #define END(name) \
76 .size name, .-name 97 .size name, .-name
77 #endif 98 #endif
78 99
79 /* If symbol 'name' is treated as a subroutine (gets called, and returns) 100 /* If symbol 'name' is treated as a subroutine (gets called, and returns)
80 * then please use ENDPROC to mark 'name' as STT_FUNC for the benefit of 101 * then please use ENDPROC to mark 'name' as STT_FUNC for the benefit of
81 * static analysis tools such as stack depth analyzer. 102 * static analysis tools such as stack depth analyzer.
82 */ 103 */
83 #ifndef ENDPROC 104 #ifndef ENDPROC
84 #define ENDPROC(name) \ 105 #define ENDPROC(name) \
85 .type name, @function; \ 106 .type name, @function; \
86 END(name) 107 END(name)
87 #endif 108 #endif
88 109
89 #endif 110 #endif
90 111
91 #endif 112 #endif
92 113
include/linux/syscalls.h
1 /* 1 /*
2 * syscalls.h - Linux syscall interfaces (non-arch-specific) 2 * syscalls.h - Linux syscall interfaces (non-arch-specific)
3 * 3 *
4 * Copyright (c) 2004 Randy Dunlap 4 * Copyright (c) 2004 Randy Dunlap
5 * Copyright (c) 2004 Open Source Development Labs 5 * Copyright (c) 2004 Open Source Development Labs
6 * 6 *
7 * This file is released under the GPLv2. 7 * This file is released under the GPLv2.
8 * See the file COPYING for more details. 8 * See the file COPYING for more details.
9 */ 9 */
10 10
11 #ifndef _LINUX_SYSCALLS_H 11 #ifndef _LINUX_SYSCALLS_H
12 #define _LINUX_SYSCALLS_H 12 #define _LINUX_SYSCALLS_H
13 13
14 struct epoll_event; 14 struct epoll_event;
15 struct iattr; 15 struct iattr;
16 struct inode; 16 struct inode;
17 struct iocb; 17 struct iocb;
18 struct io_event; 18 struct io_event;
19 struct iovec; 19 struct iovec;
20 struct itimerspec; 20 struct itimerspec;
21 struct itimerval; 21 struct itimerval;
22 struct kexec_segment; 22 struct kexec_segment;
23 struct linux_dirent; 23 struct linux_dirent;
24 struct linux_dirent64; 24 struct linux_dirent64;
25 struct list_head; 25 struct list_head;
26 struct mmap_arg_struct; 26 struct mmap_arg_struct;
27 struct msgbuf; 27 struct msgbuf;
28 struct msghdr; 28 struct msghdr;
29 struct mmsghdr; 29 struct mmsghdr;
30 struct msqid_ds; 30 struct msqid_ds;
31 struct new_utsname; 31 struct new_utsname;
32 struct nfsctl_arg; 32 struct nfsctl_arg;
33 struct __old_kernel_stat; 33 struct __old_kernel_stat;
34 struct oldold_utsname; 34 struct oldold_utsname;
35 struct old_utsname; 35 struct old_utsname;
36 struct pollfd; 36 struct pollfd;
37 struct rlimit; 37 struct rlimit;
38 struct rlimit64; 38 struct rlimit64;
39 struct rusage; 39 struct rusage;
40 struct sched_param; 40 struct sched_param;
41 struct sel_arg_struct; 41 struct sel_arg_struct;
42 struct semaphore; 42 struct semaphore;
43 struct sembuf; 43 struct sembuf;
44 struct shmid_ds; 44 struct shmid_ds;
45 struct sockaddr; 45 struct sockaddr;
46 struct stat; 46 struct stat;
47 struct stat64; 47 struct stat64;
48 struct statfs; 48 struct statfs;
49 struct statfs64; 49 struct statfs64;
50 struct __sysctl_args; 50 struct __sysctl_args;
51 struct sysinfo; 51 struct sysinfo;
52 struct timespec; 52 struct timespec;
53 struct timeval; 53 struct timeval;
54 struct timex; 54 struct timex;
55 struct timezone; 55 struct timezone;
56 struct tms; 56 struct tms;
57 struct utimbuf; 57 struct utimbuf;
58 struct mq_attr; 58 struct mq_attr;
59 struct compat_stat; 59 struct compat_stat;
60 struct compat_timeval; 60 struct compat_timeval;
61 struct robust_list_head; 61 struct robust_list_head;
62 struct getcpu_cache; 62 struct getcpu_cache;
63 struct old_linux_dirent; 63 struct old_linux_dirent;
64 struct perf_event_attr; 64 struct perf_event_attr;
65 struct file_handle; 65 struct file_handle;
66 struct sigaltstack; 66 struct sigaltstack;
67 67
68 #include <linux/types.h> 68 #include <linux/types.h>
69 #include <linux/aio_abi.h> 69 #include <linux/aio_abi.h>
70 #include <linux/capability.h> 70 #include <linux/capability.h>
71 #include <linux/signal.h> 71 #include <linux/signal.h>
72 #include <linux/list.h> 72 #include <linux/list.h>
73 #include <linux/bug.h> 73 #include <linux/bug.h>
74 #include <linux/sem.h> 74 #include <linux/sem.h>
75 #include <asm/siginfo.h> 75 #include <asm/siginfo.h>
76 #include <linux/unistd.h> 76 #include <linux/unistd.h>
77 #include <linux/quota.h> 77 #include <linux/quota.h>
78 #include <linux/key.h> 78 #include <linux/key.h>
79 #include <trace/syscall.h> 79 #include <trace/syscall.h>
80 80
81 /* 81 /*
82 * __MAP - apply a macro to syscall arguments 82 * __MAP - apply a macro to syscall arguments
83 * __MAP(n, m, t1, a1, t2, a2, ..., tn, an) will expand to 83 * __MAP(n, m, t1, a1, t2, a2, ..., tn, an) will expand to
84 * m(t1, a1), m(t2, a2), ..., m(tn, an) 84 * m(t1, a1), m(t2, a2), ..., m(tn, an)
85 * The first argument must be equal to the amount of type/name 85 * The first argument must be equal to the amount of type/name
86 * pairs given. Note that this list of pairs (i.e. the arguments 86 * pairs given. Note that this list of pairs (i.e. the arguments
87 * of __MAP starting at the third one) is in the same format as 87 * of __MAP starting at the third one) is in the same format as
88 * for SYSCALL_DEFINE<n>/COMPAT_SYSCALL_DEFINE<n> 88 * for SYSCALL_DEFINE<n>/COMPAT_SYSCALL_DEFINE<n>
89 */ 89 */
90 #define __MAP1(m,t,a) m(t,a) 90 #define __MAP1(m,t,a) m(t,a)
91 #define __MAP2(m,t,a,...) m(t,a), __MAP1(m,__VA_ARGS__) 91 #define __MAP2(m,t,a,...) m(t,a), __MAP1(m,__VA_ARGS__)
92 #define __MAP3(m,t,a,...) m(t,a), __MAP2(m,__VA_ARGS__) 92 #define __MAP3(m,t,a,...) m(t,a), __MAP2(m,__VA_ARGS__)
93 #define __MAP4(m,t,a,...) m(t,a), __MAP3(m,__VA_ARGS__) 93 #define __MAP4(m,t,a,...) m(t,a), __MAP3(m,__VA_ARGS__)
94 #define __MAP5(m,t,a,...) m(t,a), __MAP4(m,__VA_ARGS__) 94 #define __MAP5(m,t,a,...) m(t,a), __MAP4(m,__VA_ARGS__)
95 #define __MAP6(m,t,a,...) m(t,a), __MAP5(m,__VA_ARGS__) 95 #define __MAP6(m,t,a,...) m(t,a), __MAP5(m,__VA_ARGS__)
96 #define __MAP(n,...) __MAP##n(__VA_ARGS__) 96 #define __MAP(n,...) __MAP##n(__VA_ARGS__)
97 97
98 #define __SC_DECL(t, a) t a 98 #define __SC_DECL(t, a) t a
99 #define __TYPE_IS_LL(t) (__same_type((t)0, 0LL) || __same_type((t)0, 0ULL)) 99 #define __TYPE_IS_LL(t) (__same_type((t)0, 0LL) || __same_type((t)0, 0ULL))
100 #define __SC_LONG(t, a) __typeof(__builtin_choose_expr(__TYPE_IS_LL(t), 0LL, 0L)) a 100 #define __SC_LONG(t, a) __typeof(__builtin_choose_expr(__TYPE_IS_LL(t), 0LL, 0L)) a
101 #define __SC_CAST(t, a) (t) a 101 #define __SC_CAST(t, a) (t) a
102 #define __SC_TEST(t, a) (void)BUILD_BUG_ON_ZERO(!__TYPE_IS_LL(t) && sizeof(t) > sizeof(long)) 102 #define __SC_TEST(t, a) (void)BUILD_BUG_ON_ZERO(!__TYPE_IS_LL(t) && sizeof(t) > sizeof(long))
103 103
104 #ifdef CONFIG_FTRACE_SYSCALLS 104 #ifdef CONFIG_FTRACE_SYSCALLS
105 #define __SC_STR_ADECL(t, a) #a 105 #define __SC_STR_ADECL(t, a) #a
106 #define __SC_STR_TDECL(t, a) #t 106 #define __SC_STR_TDECL(t, a) #t
107 107
108 extern struct ftrace_event_class event_class_syscall_enter; 108 extern struct ftrace_event_class event_class_syscall_enter;
109 extern struct ftrace_event_class event_class_syscall_exit; 109 extern struct ftrace_event_class event_class_syscall_exit;
110 extern struct trace_event_functions enter_syscall_print_funcs; 110 extern struct trace_event_functions enter_syscall_print_funcs;
111 extern struct trace_event_functions exit_syscall_print_funcs; 111 extern struct trace_event_functions exit_syscall_print_funcs;
112 112
113 #define SYSCALL_TRACE_ENTER_EVENT(sname) \ 113 #define SYSCALL_TRACE_ENTER_EVENT(sname) \
114 static struct syscall_metadata __syscall_meta_##sname; \ 114 static struct syscall_metadata __syscall_meta_##sname; \
115 static struct ftrace_event_call __used \ 115 static struct ftrace_event_call __used \
116 event_enter_##sname = { \ 116 event_enter_##sname = { \
117 .name = "sys_enter"#sname, \ 117 .name = "sys_enter"#sname, \
118 .class = &event_class_syscall_enter, \ 118 .class = &event_class_syscall_enter, \
119 .event.funcs = &enter_syscall_print_funcs, \ 119 .event.funcs = &enter_syscall_print_funcs, \
120 .data = (void *)&__syscall_meta_##sname,\ 120 .data = (void *)&__syscall_meta_##sname,\
121 .flags = TRACE_EVENT_FL_CAP_ANY, \ 121 .flags = TRACE_EVENT_FL_CAP_ANY, \
122 }; \ 122 }; \
123 static struct ftrace_event_call __used \ 123 static struct ftrace_event_call __used \
124 __attribute__((section("_ftrace_events"))) \ 124 __attribute__((section("_ftrace_events"))) \
125 *__event_enter_##sname = &event_enter_##sname; 125 *__event_enter_##sname = &event_enter_##sname;
126 126
127 #define SYSCALL_TRACE_EXIT_EVENT(sname) \ 127 #define SYSCALL_TRACE_EXIT_EVENT(sname) \
128 static struct syscall_metadata __syscall_meta_##sname; \ 128 static struct syscall_metadata __syscall_meta_##sname; \
129 static struct ftrace_event_call __used \ 129 static struct ftrace_event_call __used \
130 event_exit_##sname = { \ 130 event_exit_##sname = { \
131 .name = "sys_exit"#sname, \ 131 .name = "sys_exit"#sname, \
132 .class = &event_class_syscall_exit, \ 132 .class = &event_class_syscall_exit, \
133 .event.funcs = &exit_syscall_print_funcs, \ 133 .event.funcs = &exit_syscall_print_funcs, \
134 .data = (void *)&__syscall_meta_##sname,\ 134 .data = (void *)&__syscall_meta_##sname,\
135 .flags = TRACE_EVENT_FL_CAP_ANY, \ 135 .flags = TRACE_EVENT_FL_CAP_ANY, \
136 }; \ 136 }; \
137 static struct ftrace_event_call __used \ 137 static struct ftrace_event_call __used \
138 __attribute__((section("_ftrace_events"))) \ 138 __attribute__((section("_ftrace_events"))) \
139 *__event_exit_##sname = &event_exit_##sname; 139 *__event_exit_##sname = &event_exit_##sname;
140 140
141 #define SYSCALL_METADATA(sname, nb) \ 141 #define SYSCALL_METADATA(sname, nb) \
142 SYSCALL_TRACE_ENTER_EVENT(sname); \ 142 SYSCALL_TRACE_ENTER_EVENT(sname); \
143 SYSCALL_TRACE_EXIT_EVENT(sname); \ 143 SYSCALL_TRACE_EXIT_EVENT(sname); \
144 static struct syscall_metadata __used \ 144 static struct syscall_metadata __used \
145 __syscall_meta_##sname = { \ 145 __syscall_meta_##sname = { \
146 .name = "sys"#sname, \ 146 .name = "sys"#sname, \
147 .syscall_nr = -1, /* Filled in at boot */ \ 147 .syscall_nr = -1, /* Filled in at boot */ \
148 .nb_args = nb, \ 148 .nb_args = nb, \
149 .types = types_##sname, \ 149 .types = types_##sname, \
150 .args = args_##sname, \ 150 .args = args_##sname, \
151 .enter_event = &event_enter_##sname, \ 151 .enter_event = &event_enter_##sname, \
152 .exit_event = &event_exit_##sname, \ 152 .exit_event = &event_exit_##sname, \
153 .enter_fields = LIST_HEAD_INIT(__syscall_meta_##sname.enter_fields), \ 153 .enter_fields = LIST_HEAD_INIT(__syscall_meta_##sname.enter_fields), \
154 }; \ 154 }; \
155 static struct syscall_metadata __used \ 155 static struct syscall_metadata __used \
156 __attribute__((section("__syscalls_metadata"))) \ 156 __attribute__((section("__syscalls_metadata"))) \
157 *__p_syscall_meta_##sname = &__syscall_meta_##sname; 157 *__p_syscall_meta_##sname = &__syscall_meta_##sname;
158 158
159 #define SYSCALL_DEFINE0(sname) \ 159 #define SYSCALL_DEFINE0(sname) \
160 SYSCALL_TRACE_ENTER_EVENT(_##sname); \ 160 SYSCALL_TRACE_ENTER_EVENT(_##sname); \
161 SYSCALL_TRACE_EXIT_EVENT(_##sname); \ 161 SYSCALL_TRACE_EXIT_EVENT(_##sname); \
162 static struct syscall_metadata __used \ 162 static struct syscall_metadata __used \
163 __syscall_meta__##sname = { \ 163 __syscall_meta__##sname = { \
164 .name = "sys_"#sname, \ 164 .name = "sys_"#sname, \
165 .syscall_nr = -1, /* Filled in at boot */ \ 165 .syscall_nr = -1, /* Filled in at boot */ \
166 .nb_args = 0, \ 166 .nb_args = 0, \
167 .enter_event = &event_enter__##sname, \ 167 .enter_event = &event_enter__##sname, \
168 .exit_event = &event_exit__##sname, \ 168 .exit_event = &event_exit__##sname, \
169 .enter_fields = LIST_HEAD_INIT(__syscall_meta__##sname.enter_fields), \ 169 .enter_fields = LIST_HEAD_INIT(__syscall_meta__##sname.enter_fields), \
170 }; \ 170 }; \
171 static struct syscall_metadata __used \ 171 static struct syscall_metadata __used \
172 __attribute__((section("__syscalls_metadata"))) \ 172 __attribute__((section("__syscalls_metadata"))) \
173 *__p_syscall_meta_##sname = &__syscall_meta__##sname; \ 173 *__p_syscall_meta_##sname = &__syscall_meta__##sname; \
174 asmlinkage long sys_##sname(void) 174 asmlinkage long sys_##sname(void)
175 #else 175 #else
176 #define SYSCALL_DEFINE0(name) asmlinkage long sys_##name(void) 176 #define SYSCALL_DEFINE0(name) asmlinkage long sys_##name(void)
177 #endif 177 #endif
178 178
179 #define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__) 179 #define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)
180 #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__) 180 #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
181 #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) 181 #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
182 #define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__) 182 #define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
183 #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__) 183 #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
184 #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) 184 #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
185 185
186 #ifdef CONFIG_PPC64
187 #define SYSCALL_ALIAS(alias, name) \
188 asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n" \
189 "\t.globl ." #alias "\n\t.set ." #alias ", ." #name)
190 #else
191 #if defined(CONFIG_ALPHA) || defined(CONFIG_MIPS)
192 #define SYSCALL_ALIAS(alias, name) \
193 asm ( #alias " = " #name "\n\t.globl " #alias)
194 #else
195 #define SYSCALL_ALIAS(alias, name) \
196 asm ("\t.globl " #alias "\n\t.set " #alias ", " #name)
197 #endif
198 #endif
199
200 #ifdef CONFIG_FTRACE_SYSCALLS 186 #ifdef CONFIG_FTRACE_SYSCALLS
201 #define SYSCALL_DEFINEx(x, sname, ...) \ 187 #define SYSCALL_DEFINEx(x, sname, ...) \
202 static const char *types_##sname[] = { \ 188 static const char *types_##sname[] = { \
203 __MAP(x,__SC_STR_TDECL,__VA_ARGS__) \ 189 __MAP(x,__SC_STR_TDECL,__VA_ARGS__) \
204 }; \ 190 }; \
205 static const char *args_##sname[] = { \ 191 static const char *args_##sname[] = { \
206 __MAP(x,__SC_STR_ADECL,__VA_ARGS__) \ 192 __MAP(x,__SC_STR_ADECL,__VA_ARGS__) \
207 }; \ 193 }; \
208 SYSCALL_METADATA(sname, x); \ 194 SYSCALL_METADATA(sname, x); \
209 __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) 195 __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
210 #else 196 #else
211 #define SYSCALL_DEFINEx(x, sname, ...) \ 197 #define SYSCALL_DEFINEx(x, sname, ...) \
212 __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) 198 __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
213 #endif 199 #endif
214 200
215 #ifdef CONFIG_HAVE_SYSCALL_WRAPPERS 201 #ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
216 202
217 #define SYSCALL_DEFINE(name) static inline long SYSC_##name 203 #define SYSCALL_DEFINE(name) static inline long SYSC_##name
218 204
219 #define __SYSCALL_DEFINEx(x, name, ...) \ 205 #define __SYSCALL_DEFINEx(x, name, ...) \
220 asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \ 206 asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \
221 static inline long SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \ 207 static inline long SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \
222 asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ 208 asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
223 { \ 209 { \
224 __MAP(x,__SC_TEST,__VA_ARGS__); \ 210 __MAP(x,__SC_TEST,__VA_ARGS__); \
225 return SYSC##name(__MAP(x,__SC_CAST,__VA_ARGS__)); \ 211 return SYSC##name(__MAP(x,__SC_CAST,__VA_ARGS__)); \
226 } \ 212 } \
227 SYSCALL_ALIAS(sys##name, SyS##name); \ 213 SYSCALL_ALIAS(sys##name, SyS##name); \
228 static inline long SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__)) 214 static inline long SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__))
229 215
230 #else /* CONFIG_HAVE_SYSCALL_WRAPPERS */ 216 #else /* CONFIG_HAVE_SYSCALL_WRAPPERS */
231 217
232 #define SYSCALL_DEFINE(name) asmlinkage long sys_##name 218 #define SYSCALL_DEFINE(name) asmlinkage long sys_##name
233 #define __SYSCALL_DEFINEx(x, name, ...) \ 219 #define __SYSCALL_DEFINEx(x, name, ...) \
234 asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) 220 asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
235 221
236 #endif /* CONFIG_HAVE_SYSCALL_WRAPPERS */ 222 #endif /* CONFIG_HAVE_SYSCALL_WRAPPERS */
237 223
238 asmlinkage long sys_time(time_t __user *tloc); 224 asmlinkage long sys_time(time_t __user *tloc);
239 asmlinkage long sys_stime(time_t __user *tptr); 225 asmlinkage long sys_stime(time_t __user *tptr);
240 asmlinkage long sys_gettimeofday(struct timeval __user *tv, 226 asmlinkage long sys_gettimeofday(struct timeval __user *tv,
241 struct timezone __user *tz); 227 struct timezone __user *tz);
242 asmlinkage long sys_settimeofday(struct timeval __user *tv, 228 asmlinkage long sys_settimeofday(struct timeval __user *tv,
243 struct timezone __user *tz); 229 struct timezone __user *tz);
244 asmlinkage long sys_adjtimex(struct timex __user *txc_p); 230 asmlinkage long sys_adjtimex(struct timex __user *txc_p);
245 231
246 asmlinkage long sys_times(struct tms __user *tbuf); 232 asmlinkage long sys_times(struct tms __user *tbuf);
247 233
248 asmlinkage long sys_gettid(void); 234 asmlinkage long sys_gettid(void);
249 asmlinkage long sys_nanosleep(struct timespec __user *rqtp, struct timespec __user *rmtp); 235 asmlinkage long sys_nanosleep(struct timespec __user *rqtp, struct timespec __user *rmtp);
250 asmlinkage long sys_alarm(unsigned int seconds); 236 asmlinkage long sys_alarm(unsigned int seconds);
251 asmlinkage long sys_getpid(void); 237 asmlinkage long sys_getpid(void);
252 asmlinkage long sys_getppid(void); 238 asmlinkage long sys_getppid(void);
253 asmlinkage long sys_getuid(void); 239 asmlinkage long sys_getuid(void);
254 asmlinkage long sys_geteuid(void); 240 asmlinkage long sys_geteuid(void);
255 asmlinkage long sys_getgid(void); 241 asmlinkage long sys_getgid(void);
256 asmlinkage long sys_getegid(void); 242 asmlinkage long sys_getegid(void);
257 asmlinkage long sys_getresuid(uid_t __user *ruid, uid_t __user *euid, uid_t __user *suid); 243 asmlinkage long sys_getresuid(uid_t __user *ruid, uid_t __user *euid, uid_t __user *suid);
258 asmlinkage long sys_getresgid(gid_t __user *rgid, gid_t __user *egid, gid_t __user *sgid); 244 asmlinkage long sys_getresgid(gid_t __user *rgid, gid_t __user *egid, gid_t __user *sgid);
259 asmlinkage long sys_getpgid(pid_t pid); 245 asmlinkage long sys_getpgid(pid_t pid);
260 asmlinkage long sys_getpgrp(void); 246 asmlinkage long sys_getpgrp(void);
261 asmlinkage long sys_getsid(pid_t pid); 247 asmlinkage long sys_getsid(pid_t pid);
262 asmlinkage long sys_getgroups(int gidsetsize, gid_t __user *grouplist); 248 asmlinkage long sys_getgroups(int gidsetsize, gid_t __user *grouplist);
263 249
264 asmlinkage long sys_setregid(gid_t rgid, gid_t egid); 250 asmlinkage long sys_setregid(gid_t rgid, gid_t egid);
265 asmlinkage long sys_setgid(gid_t gid); 251 asmlinkage long sys_setgid(gid_t gid);
266 asmlinkage long sys_setreuid(uid_t ruid, uid_t euid); 252 asmlinkage long sys_setreuid(uid_t ruid, uid_t euid);
267 asmlinkage long sys_setuid(uid_t uid); 253 asmlinkage long sys_setuid(uid_t uid);
268 asmlinkage long sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); 254 asmlinkage long sys_setresuid(uid_t ruid, uid_t euid, uid_t suid);
269 asmlinkage long sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); 255 asmlinkage long sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid);
270 asmlinkage long sys_setfsuid(uid_t uid); 256 asmlinkage long sys_setfsuid(uid_t uid);
271 asmlinkage long sys_setfsgid(gid_t gid); 257 asmlinkage long sys_setfsgid(gid_t gid);
272 asmlinkage long sys_setpgid(pid_t pid, pid_t pgid); 258 asmlinkage long sys_setpgid(pid_t pid, pid_t pgid);
273 asmlinkage long sys_setsid(void); 259 asmlinkage long sys_setsid(void);
274 asmlinkage long sys_setgroups(int gidsetsize, gid_t __user *grouplist); 260 asmlinkage long sys_setgroups(int gidsetsize, gid_t __user *grouplist);
275 261
276 asmlinkage long sys_acct(const char __user *name); 262 asmlinkage long sys_acct(const char __user *name);
277 asmlinkage long sys_capget(cap_user_header_t header, 263 asmlinkage long sys_capget(cap_user_header_t header,
278 cap_user_data_t dataptr); 264 cap_user_data_t dataptr);
279 asmlinkage long sys_capset(cap_user_header_t header, 265 asmlinkage long sys_capset(cap_user_header_t header,
280 const cap_user_data_t data); 266 const cap_user_data_t data);
281 asmlinkage long sys_personality(unsigned int personality); 267 asmlinkage long sys_personality(unsigned int personality);
282 268
283 asmlinkage long sys_sigpending(old_sigset_t __user *set); 269 asmlinkage long sys_sigpending(old_sigset_t __user *set);
284 asmlinkage long sys_sigprocmask(int how, old_sigset_t __user *set, 270 asmlinkage long sys_sigprocmask(int how, old_sigset_t __user *set,
285 old_sigset_t __user *oset); 271 old_sigset_t __user *oset);
286 asmlinkage long sys_sigaltstack(const struct sigaltstack __user *uss, 272 asmlinkage long sys_sigaltstack(const struct sigaltstack __user *uss,
287 struct sigaltstack __user *uoss); 273 struct sigaltstack __user *uoss);
288 274
289 asmlinkage long sys_getitimer(int which, struct itimerval __user *value); 275 asmlinkage long sys_getitimer(int which, struct itimerval __user *value);
290 asmlinkage long sys_setitimer(int which, 276 asmlinkage long sys_setitimer(int which,
291 struct itimerval __user *value, 277 struct itimerval __user *value,
292 struct itimerval __user *ovalue); 278 struct itimerval __user *ovalue);
293 asmlinkage long sys_timer_create(clockid_t which_clock, 279 asmlinkage long sys_timer_create(clockid_t which_clock,
294 struct sigevent __user *timer_event_spec, 280 struct sigevent __user *timer_event_spec,
295 timer_t __user * created_timer_id); 281 timer_t __user * created_timer_id);
296 asmlinkage long sys_timer_gettime(timer_t timer_id, 282 asmlinkage long sys_timer_gettime(timer_t timer_id,
297 struct itimerspec __user *setting); 283 struct itimerspec __user *setting);
298 asmlinkage long sys_timer_getoverrun(timer_t timer_id); 284 asmlinkage long sys_timer_getoverrun(timer_t timer_id);
299 asmlinkage long sys_timer_settime(timer_t timer_id, int flags, 285 asmlinkage long sys_timer_settime(timer_t timer_id, int flags,
300 const struct itimerspec __user *new_setting, 286 const struct itimerspec __user *new_setting,
301 struct itimerspec __user *old_setting); 287 struct itimerspec __user *old_setting);
302 asmlinkage long sys_timer_delete(timer_t timer_id); 288 asmlinkage long sys_timer_delete(timer_t timer_id);
303 asmlinkage long sys_clock_settime(clockid_t which_clock, 289 asmlinkage long sys_clock_settime(clockid_t which_clock,
304 const struct timespec __user *tp); 290 const struct timespec __user *tp);
305 asmlinkage long sys_clock_gettime(clockid_t which_clock, 291 asmlinkage long sys_clock_gettime(clockid_t which_clock,
306 struct timespec __user *tp); 292 struct timespec __user *tp);
307 asmlinkage long sys_clock_adjtime(clockid_t which_clock, 293 asmlinkage long sys_clock_adjtime(clockid_t which_clock,
308 struct timex __user *tx); 294 struct timex __user *tx);
309 asmlinkage long sys_clock_getres(clockid_t which_clock, 295 asmlinkage long sys_clock_getres(clockid_t which_clock,
310 struct timespec __user *tp); 296 struct timespec __user *tp);
311 asmlinkage long sys_clock_nanosleep(clockid_t which_clock, int flags, 297 asmlinkage long sys_clock_nanosleep(clockid_t which_clock, int flags,
312 const struct timespec __user *rqtp, 298 const struct timespec __user *rqtp,
313 struct timespec __user *rmtp); 299 struct timespec __user *rmtp);
314 300
315 asmlinkage long sys_nice(int increment); 301 asmlinkage long sys_nice(int increment);
316 asmlinkage long sys_sched_setscheduler(pid_t pid, int policy, 302 asmlinkage long sys_sched_setscheduler(pid_t pid, int policy,
317 struct sched_param __user *param); 303 struct sched_param __user *param);
318 asmlinkage long sys_sched_setparam(pid_t pid, 304 asmlinkage long sys_sched_setparam(pid_t pid,
319 struct sched_param __user *param); 305 struct sched_param __user *param);
320 asmlinkage long sys_sched_getscheduler(pid_t pid); 306 asmlinkage long sys_sched_getscheduler(pid_t pid);
321 asmlinkage long sys_sched_getparam(pid_t pid, 307 asmlinkage long sys_sched_getparam(pid_t pid,
322 struct sched_param __user *param); 308 struct sched_param __user *param);
323 asmlinkage long sys_sched_setaffinity(pid_t pid, unsigned int len, 309 asmlinkage long sys_sched_setaffinity(pid_t pid, unsigned int len,
324 unsigned long __user *user_mask_ptr); 310 unsigned long __user *user_mask_ptr);
325 asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len, 311 asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len,
326 unsigned long __user *user_mask_ptr); 312 unsigned long __user *user_mask_ptr);
327 asmlinkage long sys_sched_yield(void); 313 asmlinkage long sys_sched_yield(void);
328 asmlinkage long sys_sched_get_priority_max(int policy); 314 asmlinkage long sys_sched_get_priority_max(int policy);
329 asmlinkage long sys_sched_get_priority_min(int policy); 315 asmlinkage long sys_sched_get_priority_min(int policy);
330 asmlinkage long sys_sched_rr_get_interval(pid_t pid, 316 asmlinkage long sys_sched_rr_get_interval(pid_t pid,
331 struct timespec __user *interval); 317 struct timespec __user *interval);
332 asmlinkage long sys_setpriority(int which, int who, int niceval); 318 asmlinkage long sys_setpriority(int which, int who, int niceval);
333 asmlinkage long sys_getpriority(int which, int who); 319 asmlinkage long sys_getpriority(int which, int who);
334 320
335 asmlinkage long sys_shutdown(int, int); 321 asmlinkage long sys_shutdown(int, int);
336 asmlinkage long sys_reboot(int magic1, int magic2, unsigned int cmd, 322 asmlinkage long sys_reboot(int magic1, int magic2, unsigned int cmd,
337 void __user *arg); 323 void __user *arg);
338 asmlinkage long sys_restart_syscall(void); 324 asmlinkage long sys_restart_syscall(void);
339 asmlinkage long sys_kexec_load(unsigned long entry, unsigned long nr_segments, 325 asmlinkage long sys_kexec_load(unsigned long entry, unsigned long nr_segments,
340 struct kexec_segment __user *segments, 326 struct kexec_segment __user *segments,
341 unsigned long flags); 327 unsigned long flags);
342 328
343 asmlinkage long sys_exit(int error_code); 329 asmlinkage long sys_exit(int error_code);
344 asmlinkage long sys_exit_group(int error_code); 330 asmlinkage long sys_exit_group(int error_code);
345 asmlinkage long sys_wait4(pid_t pid, int __user *stat_addr, 331 asmlinkage long sys_wait4(pid_t pid, int __user *stat_addr,
346 int options, struct rusage __user *ru); 332 int options, struct rusage __user *ru);
347 asmlinkage long sys_waitid(int which, pid_t pid, 333 asmlinkage long sys_waitid(int which, pid_t pid,
348 struct siginfo __user *infop, 334 struct siginfo __user *infop,
349 int options, struct rusage __user *ru); 335 int options, struct rusage __user *ru);
350 asmlinkage long sys_waitpid(pid_t pid, int __user *stat_addr, int options); 336 asmlinkage long sys_waitpid(pid_t pid, int __user *stat_addr, int options);
351 asmlinkage long sys_set_tid_address(int __user *tidptr); 337 asmlinkage long sys_set_tid_address(int __user *tidptr);
352 asmlinkage long sys_futex(u32 __user *uaddr, int op, u32 val, 338 asmlinkage long sys_futex(u32 __user *uaddr, int op, u32 val,
353 struct timespec __user *utime, u32 __user *uaddr2, 339 struct timespec __user *utime, u32 __user *uaddr2,
354 u32 val3); 340 u32 val3);
355 341
356 asmlinkage long sys_init_module(void __user *umod, unsigned long len, 342 asmlinkage long sys_init_module(void __user *umod, unsigned long len,
357 const char __user *uargs); 343 const char __user *uargs);
358 asmlinkage long sys_delete_module(const char __user *name_user, 344 asmlinkage long sys_delete_module(const char __user *name_user,
359 unsigned int flags); 345 unsigned int flags);
360 346
361 #ifdef CONFIG_OLD_SIGSUSPEND 347 #ifdef CONFIG_OLD_SIGSUSPEND
362 asmlinkage long sys_sigsuspend(old_sigset_t mask); 348 asmlinkage long sys_sigsuspend(old_sigset_t mask);
363 #endif 349 #endif
364 350
365 #ifdef CONFIG_OLD_SIGSUSPEND3 351 #ifdef CONFIG_OLD_SIGSUSPEND3
366 asmlinkage long sys_sigsuspend(int unused1, int unused2, old_sigset_t mask); 352 asmlinkage long sys_sigsuspend(int unused1, int unused2, old_sigset_t mask);
367 #endif 353 #endif
368 354
369 asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize); 355 asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize);
370 356
371 #ifdef CONFIG_OLD_SIGACTION 357 #ifdef CONFIG_OLD_SIGACTION
372 asmlinkage long sys_sigaction(int, const struct old_sigaction __user *, 358 asmlinkage long sys_sigaction(int, const struct old_sigaction __user *,
373 struct old_sigaction __user *); 359 struct old_sigaction __user *);
374 #endif 360 #endif
375 361
376 #ifndef CONFIG_ODD_RT_SIGACTION 362 #ifndef CONFIG_ODD_RT_SIGACTION
377 asmlinkage long sys_rt_sigaction(int, 363 asmlinkage long sys_rt_sigaction(int,
378 const struct sigaction __user *, 364 const struct sigaction __user *,
379 struct sigaction __user *, 365 struct sigaction __user *,
380 size_t); 366 size_t);
381 #endif 367 #endif
382 asmlinkage long sys_rt_sigprocmask(int how, sigset_t __user *set, 368 asmlinkage long sys_rt_sigprocmask(int how, sigset_t __user *set,
383 sigset_t __user *oset, size_t sigsetsize); 369 sigset_t __user *oset, size_t sigsetsize);
384 asmlinkage long sys_rt_sigpending(sigset_t __user *set, size_t sigsetsize); 370 asmlinkage long sys_rt_sigpending(sigset_t __user *set, size_t sigsetsize);
385 asmlinkage long sys_rt_sigtimedwait(const sigset_t __user *uthese, 371 asmlinkage long sys_rt_sigtimedwait(const sigset_t __user *uthese,
386 siginfo_t __user *uinfo, 372 siginfo_t __user *uinfo,
387 const struct timespec __user *uts, 373 const struct timespec __user *uts,
388 size_t sigsetsize); 374 size_t sigsetsize);
389 asmlinkage long sys_rt_tgsigqueueinfo(pid_t tgid, pid_t pid, int sig, 375 asmlinkage long sys_rt_tgsigqueueinfo(pid_t tgid, pid_t pid, int sig,
390 siginfo_t __user *uinfo); 376 siginfo_t __user *uinfo);
391 asmlinkage long sys_kill(int pid, int sig); 377 asmlinkage long sys_kill(int pid, int sig);
392 asmlinkage long sys_tgkill(int tgid, int pid, int sig); 378 asmlinkage long sys_tgkill(int tgid, int pid, int sig);
393 asmlinkage long sys_tkill(int pid, int sig); 379 asmlinkage long sys_tkill(int pid, int sig);
394 asmlinkage long sys_rt_sigqueueinfo(int pid, int sig, siginfo_t __user *uinfo); 380 asmlinkage long sys_rt_sigqueueinfo(int pid, int sig, siginfo_t __user *uinfo);
395 asmlinkage long sys_sgetmask(void); 381 asmlinkage long sys_sgetmask(void);
396 asmlinkage long sys_ssetmask(int newmask); 382 asmlinkage long sys_ssetmask(int newmask);
397 asmlinkage long sys_signal(int sig, __sighandler_t handler); 383 asmlinkage long sys_signal(int sig, __sighandler_t handler);
398 asmlinkage long sys_pause(void); 384 asmlinkage long sys_pause(void);
399 385
400 asmlinkage long sys_sync(void); 386 asmlinkage long sys_sync(void);
401 asmlinkage long sys_fsync(unsigned int fd); 387 asmlinkage long sys_fsync(unsigned int fd);
402 asmlinkage long sys_fdatasync(unsigned int fd); 388 asmlinkage long sys_fdatasync(unsigned int fd);
403 asmlinkage long sys_bdflush(int func, long data); 389 asmlinkage long sys_bdflush(int func, long data);
404 asmlinkage long sys_mount(char __user *dev_name, char __user *dir_name, 390 asmlinkage long sys_mount(char __user *dev_name, char __user *dir_name,
405 char __user *type, unsigned long flags, 391 char __user *type, unsigned long flags,
406 void __user *data); 392 void __user *data);
407 asmlinkage long sys_umount(char __user *name, int flags); 393 asmlinkage long sys_umount(char __user *name, int flags);
408 asmlinkage long sys_oldumount(char __user *name); 394 asmlinkage long sys_oldumount(char __user *name);
409 asmlinkage long sys_truncate(const char __user *path, long length); 395 asmlinkage long sys_truncate(const char __user *path, long length);
410 asmlinkage long sys_ftruncate(unsigned int fd, unsigned long length); 396 asmlinkage long sys_ftruncate(unsigned int fd, unsigned long length);
411 asmlinkage long sys_stat(const char __user *filename, 397 asmlinkage long sys_stat(const char __user *filename,
412 struct __old_kernel_stat __user *statbuf); 398 struct __old_kernel_stat __user *statbuf);
413 asmlinkage long sys_statfs(const char __user * path, 399 asmlinkage long sys_statfs(const char __user * path,
414 struct statfs __user *buf); 400 struct statfs __user *buf);
415 asmlinkage long sys_statfs64(const char __user *path, size_t sz, 401 asmlinkage long sys_statfs64(const char __user *path, size_t sz,
416 struct statfs64 __user *buf); 402 struct statfs64 __user *buf);
417 asmlinkage long sys_fstatfs(unsigned int fd, struct statfs __user *buf); 403 asmlinkage long sys_fstatfs(unsigned int fd, struct statfs __user *buf);
418 asmlinkage long sys_fstatfs64(unsigned int fd, size_t sz, 404 asmlinkage long sys_fstatfs64(unsigned int fd, size_t sz,
419 struct statfs64 __user *buf); 405 struct statfs64 __user *buf);
420 asmlinkage long sys_lstat(const char __user *filename, 406 asmlinkage long sys_lstat(const char __user *filename,
421 struct __old_kernel_stat __user *statbuf); 407 struct __old_kernel_stat __user *statbuf);
422 asmlinkage long sys_fstat(unsigned int fd, 408 asmlinkage long sys_fstat(unsigned int fd,
423 struct __old_kernel_stat __user *statbuf); 409 struct __old_kernel_stat __user *statbuf);
424 asmlinkage long sys_newstat(const char __user *filename, 410 asmlinkage long sys_newstat(const char __user *filename,
425 struct stat __user *statbuf); 411 struct stat __user *statbuf);
426 asmlinkage long sys_newlstat(const char __user *filename, 412 asmlinkage long sys_newlstat(const char __user *filename,
427 struct stat __user *statbuf); 413 struct stat __user *statbuf);
428 asmlinkage long sys_newfstat(unsigned int fd, struct stat __user *statbuf); 414 asmlinkage long sys_newfstat(unsigned int fd, struct stat __user *statbuf);
429 asmlinkage long sys_ustat(unsigned dev, struct ustat __user *ubuf); 415 asmlinkage long sys_ustat(unsigned dev, struct ustat __user *ubuf);
430 #if BITS_PER_LONG == 32 416 #if BITS_PER_LONG == 32
431 asmlinkage long sys_stat64(const char __user *filename, 417 asmlinkage long sys_stat64(const char __user *filename,
432 struct stat64 __user *statbuf); 418 struct stat64 __user *statbuf);
433 asmlinkage long sys_fstat64(unsigned long fd, struct stat64 __user *statbuf); 419 asmlinkage long sys_fstat64(unsigned long fd, struct stat64 __user *statbuf);
434 asmlinkage long sys_lstat64(const char __user *filename, 420 asmlinkage long sys_lstat64(const char __user *filename,
435 struct stat64 __user *statbuf); 421 struct stat64 __user *statbuf);
436 asmlinkage long sys_truncate64(const char __user *path, loff_t length); 422 asmlinkage long sys_truncate64(const char __user *path, loff_t length);
437 asmlinkage long sys_ftruncate64(unsigned int fd, loff_t length); 423 asmlinkage long sys_ftruncate64(unsigned int fd, loff_t length);
438 #endif 424 #endif
439 425
440 asmlinkage long sys_setxattr(const char __user *path, const char __user *name, 426 asmlinkage long sys_setxattr(const char __user *path, const char __user *name,
441 const void __user *value, size_t size, int flags); 427 const void __user *value, size_t size, int flags);
442 asmlinkage long sys_lsetxattr(const char __user *path, const char __user *name, 428 asmlinkage long sys_lsetxattr(const char __user *path, const char __user *name,
443 const void __user *value, size_t size, int flags); 429 const void __user *value, size_t size, int flags);
444 asmlinkage long sys_fsetxattr(int fd, const char __user *name, 430 asmlinkage long sys_fsetxattr(int fd, const char __user *name,
445 const void __user *value, size_t size, int flags); 431 const void __user *value, size_t size, int flags);
446 asmlinkage long sys_getxattr(const char __user *path, const char __user *name, 432 asmlinkage long sys_getxattr(const char __user *path, const char __user *name,
447 void __user *value, size_t size); 433 void __user *value, size_t size);
448 asmlinkage long sys_lgetxattr(const char __user *path, const char __user *name, 434 asmlinkage long sys_lgetxattr(const char __user *path, const char __user *name,
449 void __user *value, size_t size); 435 void __user *value, size_t size);
450 asmlinkage long sys_fgetxattr(int fd, const char __user *name, 436 asmlinkage long sys_fgetxattr(int fd, const char __user *name,
451 void __user *value, size_t size); 437 void __user *value, size_t size);
452 asmlinkage long sys_listxattr(const char __user *path, char __user *list, 438 asmlinkage long sys_listxattr(const char __user *path, char __user *list,
453 size_t size); 439 size_t size);
454 asmlinkage long sys_llistxattr(const char __user *path, char __user *list, 440 asmlinkage long sys_llistxattr(const char __user *path, char __user *list,
455 size_t size); 441 size_t size);
456 asmlinkage long sys_flistxattr(int fd, char __user *list, size_t size); 442 asmlinkage long sys_flistxattr(int fd, char __user *list, size_t size);
457 asmlinkage long sys_removexattr(const char __user *path, 443 asmlinkage long sys_removexattr(const char __user *path,
458 const char __user *name); 444 const char __user *name);
459 asmlinkage long sys_lremovexattr(const char __user *path, 445 asmlinkage long sys_lremovexattr(const char __user *path,
460 const char __user *name); 446 const char __user *name);
461 asmlinkage long sys_fremovexattr(int fd, const char __user *name); 447 asmlinkage long sys_fremovexattr(int fd, const char __user *name);
462 448
463 asmlinkage long sys_brk(unsigned long brk); 449 asmlinkage long sys_brk(unsigned long brk);
464 asmlinkage long sys_mprotect(unsigned long start, size_t len, 450 asmlinkage long sys_mprotect(unsigned long start, size_t len,
465 unsigned long prot); 451 unsigned long prot);
466 asmlinkage long sys_mremap(unsigned long addr, 452 asmlinkage long sys_mremap(unsigned long addr,
467 unsigned long old_len, unsigned long new_len, 453 unsigned long old_len, unsigned long new_len,
468 unsigned long flags, unsigned long new_addr); 454 unsigned long flags, unsigned long new_addr);
469 asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size, 455 asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size,
470 unsigned long prot, unsigned long pgoff, 456 unsigned long prot, unsigned long pgoff,
471 unsigned long flags); 457 unsigned long flags);
472 asmlinkage long sys_msync(unsigned long start, size_t len, int flags); 458 asmlinkage long sys_msync(unsigned long start, size_t len, int flags);
473 asmlinkage long sys_fadvise64(int fd, loff_t offset, size_t len, int advice); 459 asmlinkage long sys_fadvise64(int fd, loff_t offset, size_t len, int advice);
474 asmlinkage long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice); 460 asmlinkage long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice);
475 asmlinkage long sys_munmap(unsigned long addr, size_t len); 461 asmlinkage long sys_munmap(unsigned long addr, size_t len);
476 asmlinkage long sys_mlock(unsigned long start, size_t len); 462 asmlinkage long sys_mlock(unsigned long start, size_t len);
477 asmlinkage long sys_munlock(unsigned long start, size_t len); 463 asmlinkage long sys_munlock(unsigned long start, size_t len);
478 asmlinkage long sys_mlockall(int flags); 464 asmlinkage long sys_mlockall(int flags);
479 asmlinkage long sys_munlockall(void); 465 asmlinkage long sys_munlockall(void);
480 asmlinkage long sys_madvise(unsigned long start, size_t len, int behavior); 466 asmlinkage long sys_madvise(unsigned long start, size_t len, int behavior);
481 asmlinkage long sys_mincore(unsigned long start, size_t len, 467 asmlinkage long sys_mincore(unsigned long start, size_t len,
482 unsigned char __user * vec); 468 unsigned char __user * vec);
483 469
484 asmlinkage long sys_pivot_root(const char __user *new_root, 470 asmlinkage long sys_pivot_root(const char __user *new_root,
485 const char __user *put_old); 471 const char __user *put_old);
486 asmlinkage long sys_chroot(const char __user *filename); 472 asmlinkage long sys_chroot(const char __user *filename);
487 asmlinkage long sys_mknod(const char __user *filename, umode_t mode, 473 asmlinkage long sys_mknod(const char __user *filename, umode_t mode,
488 unsigned dev); 474 unsigned dev);
489 asmlinkage long sys_link(const char __user *oldname, 475 asmlinkage long sys_link(const char __user *oldname,
490 const char __user *newname); 476 const char __user *newname);
491 asmlinkage long sys_symlink(const char __user *old, const char __user *new); 477 asmlinkage long sys_symlink(const char __user *old, const char __user *new);
492 asmlinkage long sys_unlink(const char __user *pathname); 478 asmlinkage long sys_unlink(const char __user *pathname);
493 asmlinkage long sys_rename(const char __user *oldname, 479 asmlinkage long sys_rename(const char __user *oldname,
494 const char __user *newname); 480 const char __user *newname);
495 asmlinkage long sys_chmod(const char __user *filename, umode_t mode); 481 asmlinkage long sys_chmod(const char __user *filename, umode_t mode);
496 asmlinkage long sys_fchmod(unsigned int fd, umode_t mode); 482 asmlinkage long sys_fchmod(unsigned int fd, umode_t mode);
497 483
498 asmlinkage long sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg); 484 asmlinkage long sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg);
499 #if BITS_PER_LONG == 32 485 #if BITS_PER_LONG == 32
500 asmlinkage long sys_fcntl64(unsigned int fd, 486 asmlinkage long sys_fcntl64(unsigned int fd,
501 unsigned int cmd, unsigned long arg); 487 unsigned int cmd, unsigned long arg);
502 #endif 488 #endif
503 asmlinkage long sys_pipe(int __user *fildes); 489 asmlinkage long sys_pipe(int __user *fildes);
504 asmlinkage long sys_pipe2(int __user *fildes, int flags); 490 asmlinkage long sys_pipe2(int __user *fildes, int flags);
505 asmlinkage long sys_dup(unsigned int fildes); 491 asmlinkage long sys_dup(unsigned int fildes);
506 asmlinkage long sys_dup2(unsigned int oldfd, unsigned int newfd); 492 asmlinkage long sys_dup2(unsigned int oldfd, unsigned int newfd);
507 asmlinkage long sys_dup3(unsigned int oldfd, unsigned int newfd, int flags); 493 asmlinkage long sys_dup3(unsigned int oldfd, unsigned int newfd, int flags);
508 asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on); 494 asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on);
509 asmlinkage long sys_ioctl(unsigned int fd, unsigned int cmd, 495 asmlinkage long sys_ioctl(unsigned int fd, unsigned int cmd,
510 unsigned long arg); 496 unsigned long arg);
511 asmlinkage long sys_flock(unsigned int fd, unsigned int cmd); 497 asmlinkage long sys_flock(unsigned int fd, unsigned int cmd);
512 asmlinkage long sys_io_setup(unsigned nr_reqs, aio_context_t __user *ctx); 498 asmlinkage long sys_io_setup(unsigned nr_reqs, aio_context_t __user *ctx);
513 asmlinkage long sys_io_destroy(aio_context_t ctx); 499 asmlinkage long sys_io_destroy(aio_context_t ctx);
514 asmlinkage long sys_io_getevents(aio_context_t ctx_id, 500 asmlinkage long sys_io_getevents(aio_context_t ctx_id,
515 long min_nr, 501 long min_nr,
516 long nr, 502 long nr,
517 struct io_event __user *events, 503 struct io_event __user *events,
518 struct timespec __user *timeout); 504 struct timespec __user *timeout);
519 asmlinkage long sys_io_submit(aio_context_t, long, 505 asmlinkage long sys_io_submit(aio_context_t, long,
520 struct iocb __user * __user *); 506 struct iocb __user * __user *);
521 asmlinkage long sys_io_cancel(aio_context_t ctx_id, struct iocb __user *iocb, 507 asmlinkage long sys_io_cancel(aio_context_t ctx_id, struct iocb __user *iocb,
522 struct io_event __user *result); 508 struct io_event __user *result);
523 asmlinkage long sys_sendfile(int out_fd, int in_fd, 509 asmlinkage long sys_sendfile(int out_fd, int in_fd,
524 off_t __user *offset, size_t count); 510 off_t __user *offset, size_t count);
525 asmlinkage long sys_sendfile64(int out_fd, int in_fd, 511 asmlinkage long sys_sendfile64(int out_fd, int in_fd,
526 loff_t __user *offset, size_t count); 512 loff_t __user *offset, size_t count);
527 asmlinkage long sys_readlink(const char __user *path, 513 asmlinkage long sys_readlink(const char __user *path,
528 char __user *buf, int bufsiz); 514 char __user *buf, int bufsiz);
529 asmlinkage long sys_creat(const char __user *pathname, umode_t mode); 515 asmlinkage long sys_creat(const char __user *pathname, umode_t mode);
530 asmlinkage long sys_open(const char __user *filename, 516 asmlinkage long sys_open(const char __user *filename,
531 int flags, umode_t mode); 517 int flags, umode_t mode);
532 asmlinkage long sys_close(unsigned int fd); 518 asmlinkage long sys_close(unsigned int fd);
533 asmlinkage long sys_access(const char __user *filename, int mode); 519 asmlinkage long sys_access(const char __user *filename, int mode);
534 asmlinkage long sys_vhangup(void); 520 asmlinkage long sys_vhangup(void);
535 asmlinkage long sys_chown(const char __user *filename, 521 asmlinkage long sys_chown(const char __user *filename,
536 uid_t user, gid_t group); 522 uid_t user, gid_t group);
537 asmlinkage long sys_lchown(const char __user *filename, 523 asmlinkage long sys_lchown(const char __user *filename,
538 uid_t user, gid_t group); 524 uid_t user, gid_t group);
539 asmlinkage long sys_fchown(unsigned int fd, uid_t user, gid_t group); 525 asmlinkage long sys_fchown(unsigned int fd, uid_t user, gid_t group);
540 #ifdef CONFIG_UID16 526 #ifdef CONFIG_UID16
541 asmlinkage long sys_chown16(const char __user *filename, 527 asmlinkage long sys_chown16(const char __user *filename,
542 old_uid_t user, old_gid_t group); 528 old_uid_t user, old_gid_t group);
543 asmlinkage long sys_lchown16(const char __user *filename, 529 asmlinkage long sys_lchown16(const char __user *filename,
544 old_uid_t user, old_gid_t group); 530 old_uid_t user, old_gid_t group);
545 asmlinkage long sys_fchown16(unsigned int fd, old_uid_t user, old_gid_t group); 531 asmlinkage long sys_fchown16(unsigned int fd, old_uid_t user, old_gid_t group);
546 asmlinkage long sys_setregid16(old_gid_t rgid, old_gid_t egid); 532 asmlinkage long sys_setregid16(old_gid_t rgid, old_gid_t egid);
547 asmlinkage long sys_setgid16(old_gid_t gid); 533 asmlinkage long sys_setgid16(old_gid_t gid);
548 asmlinkage long sys_setreuid16(old_uid_t ruid, old_uid_t euid); 534 asmlinkage long sys_setreuid16(old_uid_t ruid, old_uid_t euid);
549 asmlinkage long sys_setuid16(old_uid_t uid); 535 asmlinkage long sys_setuid16(old_uid_t uid);
550 asmlinkage long sys_setresuid16(old_uid_t ruid, old_uid_t euid, old_uid_t suid); 536 asmlinkage long sys_setresuid16(old_uid_t ruid, old_uid_t euid, old_uid_t suid);
551 asmlinkage long sys_getresuid16(old_uid_t __user *ruid, 537 asmlinkage long sys_getresuid16(old_uid_t __user *ruid,
552 old_uid_t __user *euid, old_uid_t __user *suid); 538 old_uid_t __user *euid, old_uid_t __user *suid);
553 asmlinkage long sys_setresgid16(old_gid_t rgid, old_gid_t egid, old_gid_t sgid); 539 asmlinkage long sys_setresgid16(old_gid_t rgid, old_gid_t egid, old_gid_t sgid);
554 asmlinkage long sys_getresgid16(old_gid_t __user *rgid, 540 asmlinkage long sys_getresgid16(old_gid_t __user *rgid,
555 old_gid_t __user *egid, old_gid_t __user *sgid); 541 old_gid_t __user *egid, old_gid_t __user *sgid);
556 asmlinkage long sys_setfsuid16(old_uid_t uid); 542 asmlinkage long sys_setfsuid16(old_uid_t uid);
557 asmlinkage long sys_setfsgid16(old_gid_t gid); 543 asmlinkage long sys_setfsgid16(old_gid_t gid);
558 asmlinkage long sys_getgroups16(int gidsetsize, old_gid_t __user *grouplist); 544 asmlinkage long sys_getgroups16(int gidsetsize, old_gid_t __user *grouplist);
559 asmlinkage long sys_setgroups16(int gidsetsize, old_gid_t __user *grouplist); 545 asmlinkage long sys_setgroups16(int gidsetsize, old_gid_t __user *grouplist);
560 asmlinkage long sys_getuid16(void); 546 asmlinkage long sys_getuid16(void);
561 asmlinkage long sys_geteuid16(void); 547 asmlinkage long sys_geteuid16(void);
562 asmlinkage long sys_getgid16(void); 548 asmlinkage long sys_getgid16(void);
563 asmlinkage long sys_getegid16(void); 549 asmlinkage long sys_getegid16(void);
564 #endif 550 #endif
565 551
566 asmlinkage long sys_utime(char __user *filename, 552 asmlinkage long sys_utime(char __user *filename,
567 struct utimbuf __user *times); 553 struct utimbuf __user *times);
568 asmlinkage long sys_utimes(char __user *filename, 554 asmlinkage long sys_utimes(char __user *filename,
569 struct timeval __user *utimes); 555 struct timeval __user *utimes);
570 asmlinkage long sys_lseek(unsigned int fd, off_t offset, 556 asmlinkage long sys_lseek(unsigned int fd, off_t offset,
571 unsigned int whence); 557 unsigned int whence);
572 asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high, 558 asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high,
573 unsigned long offset_low, loff_t __user *result, 559 unsigned long offset_low, loff_t __user *result,
574 unsigned int whence); 560 unsigned int whence);
575 asmlinkage long sys_read(unsigned int fd, char __user *buf, size_t count); 561 asmlinkage long sys_read(unsigned int fd, char __user *buf, size_t count);
576 asmlinkage long sys_readahead(int fd, loff_t offset, size_t count); 562 asmlinkage long sys_readahead(int fd, loff_t offset, size_t count);
577 asmlinkage long sys_readv(unsigned long fd, 563 asmlinkage long sys_readv(unsigned long fd,
578 const struct iovec __user *vec, 564 const struct iovec __user *vec,
579 unsigned long vlen); 565 unsigned long vlen);
580 asmlinkage long sys_write(unsigned int fd, const char __user *buf, 566 asmlinkage long sys_write(unsigned int fd, const char __user *buf,
581 size_t count); 567 size_t count);
582 asmlinkage long sys_writev(unsigned long fd, 568 asmlinkage long sys_writev(unsigned long fd,
583 const struct iovec __user *vec, 569 const struct iovec __user *vec,
584 unsigned long vlen); 570 unsigned long vlen);
585 asmlinkage long sys_pread64(unsigned int fd, char __user *buf, 571 asmlinkage long sys_pread64(unsigned int fd, char __user *buf,
586 size_t count, loff_t pos); 572 size_t count, loff_t pos);
587 asmlinkage long sys_pwrite64(unsigned int fd, const char __user *buf, 573 asmlinkage long sys_pwrite64(unsigned int fd, const char __user *buf,
588 size_t count, loff_t pos); 574 size_t count, loff_t pos);
589 asmlinkage long sys_preadv(unsigned long fd, const struct iovec __user *vec, 575 asmlinkage long sys_preadv(unsigned long fd, const struct iovec __user *vec,
590 unsigned long vlen, unsigned long pos_l, unsigned long pos_h); 576 unsigned long vlen, unsigned long pos_l, unsigned long pos_h);
591 asmlinkage long sys_pwritev(unsigned long fd, const struct iovec __user *vec, 577 asmlinkage long sys_pwritev(unsigned long fd, const struct iovec __user *vec,
592 unsigned long vlen, unsigned long pos_l, unsigned long pos_h); 578 unsigned long vlen, unsigned long pos_l, unsigned long pos_h);
593 asmlinkage long sys_getcwd(char __user *buf, unsigned long size); 579 asmlinkage long sys_getcwd(char __user *buf, unsigned long size);
594 asmlinkage long sys_mkdir(const char __user *pathname, umode_t mode); 580 asmlinkage long sys_mkdir(const char __user *pathname, umode_t mode);
595 asmlinkage long sys_chdir(const char __user *filename); 581 asmlinkage long sys_chdir(const char __user *filename);
596 asmlinkage long sys_fchdir(unsigned int fd); 582 asmlinkage long sys_fchdir(unsigned int fd);
597 asmlinkage long sys_rmdir(const char __user *pathname); 583 asmlinkage long sys_rmdir(const char __user *pathname);
598 asmlinkage long sys_lookup_dcookie(u64 cookie64, char __user *buf, size_t len); 584 asmlinkage long sys_lookup_dcookie(u64 cookie64, char __user *buf, size_t len);
599 asmlinkage long sys_quotactl(unsigned int cmd, const char __user *special, 585 asmlinkage long sys_quotactl(unsigned int cmd, const char __user *special,
600 qid_t id, void __user *addr); 586 qid_t id, void __user *addr);
601 asmlinkage long sys_getdents(unsigned int fd, 587 asmlinkage long sys_getdents(unsigned int fd,
602 struct linux_dirent __user *dirent, 588 struct linux_dirent __user *dirent,
603 unsigned int count); 589 unsigned int count);
604 asmlinkage long sys_getdents64(unsigned int fd, 590 asmlinkage long sys_getdents64(unsigned int fd,
605 struct linux_dirent64 __user *dirent, 591 struct linux_dirent64 __user *dirent,
606 unsigned int count); 592 unsigned int count);
607 593
608 asmlinkage long sys_setsockopt(int fd, int level, int optname, 594 asmlinkage long sys_setsockopt(int fd, int level, int optname,
609 char __user *optval, int optlen); 595 char __user *optval, int optlen);
610 asmlinkage long sys_getsockopt(int fd, int level, int optname, 596 asmlinkage long sys_getsockopt(int fd, int level, int optname,
611 char __user *optval, int __user *optlen); 597 char __user *optval, int __user *optlen);
612 asmlinkage long sys_bind(int, struct sockaddr __user *, int); 598 asmlinkage long sys_bind(int, struct sockaddr __user *, int);
613 asmlinkage long sys_connect(int, struct sockaddr __user *, int); 599 asmlinkage long sys_connect(int, struct sockaddr __user *, int);
614 asmlinkage long sys_accept(int, struct sockaddr __user *, int __user *); 600 asmlinkage long sys_accept(int, struct sockaddr __user *, int __user *);
615 asmlinkage long sys_accept4(int, struct sockaddr __user *, int __user *, int); 601 asmlinkage long sys_accept4(int, struct sockaddr __user *, int __user *, int);
616 asmlinkage long sys_getsockname(int, struct sockaddr __user *, int __user *); 602 asmlinkage long sys_getsockname(int, struct sockaddr __user *, int __user *);
617 asmlinkage long sys_getpeername(int, struct sockaddr __user *, int __user *); 603 asmlinkage long sys_getpeername(int, struct sockaddr __user *, int __user *);
618 asmlinkage long sys_send(int, void __user *, size_t, unsigned); 604 asmlinkage long sys_send(int, void __user *, size_t, unsigned);
619 asmlinkage long sys_sendto(int, void __user *, size_t, unsigned, 605 asmlinkage long sys_sendto(int, void __user *, size_t, unsigned,
620 struct sockaddr __user *, int); 606 struct sockaddr __user *, int);
621 asmlinkage long sys_sendmsg(int fd, struct msghdr __user *msg, unsigned flags); 607 asmlinkage long sys_sendmsg(int fd, struct msghdr __user *msg, unsigned flags);
622 asmlinkage long sys_sendmmsg(int fd, struct mmsghdr __user *msg, 608 asmlinkage long sys_sendmmsg(int fd, struct mmsghdr __user *msg,
623 unsigned int vlen, unsigned flags); 609 unsigned int vlen, unsigned flags);
624 asmlinkage long sys_recv(int, void __user *, size_t, unsigned); 610 asmlinkage long sys_recv(int, void __user *, size_t, unsigned);
625 asmlinkage long sys_recvfrom(int, void __user *, size_t, unsigned, 611 asmlinkage long sys_recvfrom(int, void __user *, size_t, unsigned,
626 struct sockaddr __user *, int __user *); 612 struct sockaddr __user *, int __user *);
627 asmlinkage long sys_recvmsg(int fd, struct msghdr __user *msg, unsigned flags); 613 asmlinkage long sys_recvmsg(int fd, struct msghdr __user *msg, unsigned flags);
628 asmlinkage long sys_recvmmsg(int fd, struct mmsghdr __user *msg, 614 asmlinkage long sys_recvmmsg(int fd, struct mmsghdr __user *msg,
629 unsigned int vlen, unsigned flags, 615 unsigned int vlen, unsigned flags,
630 struct timespec __user *timeout); 616 struct timespec __user *timeout);
631 asmlinkage long sys_socket(int, int, int); 617 asmlinkage long sys_socket(int, int, int);
632 asmlinkage long sys_socketpair(int, int, int, int __user *); 618 asmlinkage long sys_socketpair(int, int, int, int __user *);
633 asmlinkage long sys_socketcall(int call, unsigned long __user *args); 619 asmlinkage long sys_socketcall(int call, unsigned long __user *args);
634 asmlinkage long sys_listen(int, int); 620 asmlinkage long sys_listen(int, int);
635 asmlinkage long sys_poll(struct pollfd __user *ufds, unsigned int nfds, 621 asmlinkage long sys_poll(struct pollfd __user *ufds, unsigned int nfds,
636 int timeout); 622 int timeout);
637 asmlinkage long sys_select(int n, fd_set __user *inp, fd_set __user *outp, 623 asmlinkage long sys_select(int n, fd_set __user *inp, fd_set __user *outp,
638 fd_set __user *exp, struct timeval __user *tvp); 624 fd_set __user *exp, struct timeval __user *tvp);
639 asmlinkage long sys_old_select(struct sel_arg_struct __user *arg); 625 asmlinkage long sys_old_select(struct sel_arg_struct __user *arg);
640 asmlinkage long sys_epoll_create(int size); 626 asmlinkage long sys_epoll_create(int size);
641 asmlinkage long sys_epoll_create1(int flags); 627 asmlinkage long sys_epoll_create1(int flags);
642 asmlinkage long sys_epoll_ctl(int epfd, int op, int fd, 628 asmlinkage long sys_epoll_ctl(int epfd, int op, int fd,
643 struct epoll_event __user *event); 629 struct epoll_event __user *event);
644 asmlinkage long sys_epoll_wait(int epfd, struct epoll_event __user *events, 630 asmlinkage long sys_epoll_wait(int epfd, struct epoll_event __user *events,
645 int maxevents, int timeout); 631 int maxevents, int timeout);
646 asmlinkage long sys_epoll_pwait(int epfd, struct epoll_event __user *events, 632 asmlinkage long sys_epoll_pwait(int epfd, struct epoll_event __user *events,
647 int maxevents, int timeout, 633 int maxevents, int timeout,
648 const sigset_t __user *sigmask, 634 const sigset_t __user *sigmask,
649 size_t sigsetsize); 635 size_t sigsetsize);
650 asmlinkage long sys_gethostname(char __user *name, int len); 636 asmlinkage long sys_gethostname(char __user *name, int len);
651 asmlinkage long sys_sethostname(char __user *name, int len); 637 asmlinkage long sys_sethostname(char __user *name, int len);
652 asmlinkage long sys_setdomainname(char __user *name, int len); 638 asmlinkage long sys_setdomainname(char __user *name, int len);
653 asmlinkage long sys_newuname(struct new_utsname __user *name); 639 asmlinkage long sys_newuname(struct new_utsname __user *name);
654 asmlinkage long sys_uname(struct old_utsname __user *); 640 asmlinkage long sys_uname(struct old_utsname __user *);
655 asmlinkage long sys_olduname(struct oldold_utsname __user *); 641 asmlinkage long sys_olduname(struct oldold_utsname __user *);
656 642
657 asmlinkage long sys_getrlimit(unsigned int resource, 643 asmlinkage long sys_getrlimit(unsigned int resource,
658 struct rlimit __user *rlim); 644 struct rlimit __user *rlim);
659 #if defined(COMPAT_RLIM_OLD_INFINITY) || !(defined(CONFIG_IA64)) 645 #if defined(COMPAT_RLIM_OLD_INFINITY) || !(defined(CONFIG_IA64))
660 asmlinkage long sys_old_getrlimit(unsigned int resource, struct rlimit __user *rlim); 646 asmlinkage long sys_old_getrlimit(unsigned int resource, struct rlimit __user *rlim);
661 #endif 647 #endif
662 asmlinkage long sys_setrlimit(unsigned int resource, 648 asmlinkage long sys_setrlimit(unsigned int resource,
663 struct rlimit __user *rlim); 649 struct rlimit __user *rlim);
664 asmlinkage long sys_prlimit64(pid_t pid, unsigned int resource, 650 asmlinkage long sys_prlimit64(pid_t pid, unsigned int resource,
665 const struct rlimit64 __user *new_rlim, 651 const struct rlimit64 __user *new_rlim,
666 struct rlimit64 __user *old_rlim); 652 struct rlimit64 __user *old_rlim);
667 asmlinkage long sys_getrusage(int who, struct rusage __user *ru); 653 asmlinkage long sys_getrusage(int who, struct rusage __user *ru);
668 asmlinkage long sys_umask(int mask); 654 asmlinkage long sys_umask(int mask);
669 655
670 asmlinkage long sys_msgget(key_t key, int msgflg); 656 asmlinkage long sys_msgget(key_t key, int msgflg);
671 asmlinkage long sys_msgsnd(int msqid, struct msgbuf __user *msgp, 657 asmlinkage long sys_msgsnd(int msqid, struct msgbuf __user *msgp,
672 size_t msgsz, int msgflg); 658 size_t msgsz, int msgflg);
673 asmlinkage long sys_msgrcv(int msqid, struct msgbuf __user *msgp, 659 asmlinkage long sys_msgrcv(int msqid, struct msgbuf __user *msgp,
674 size_t msgsz, long msgtyp, int msgflg); 660 size_t msgsz, long msgtyp, int msgflg);
675 asmlinkage long sys_msgctl(int msqid, int cmd, struct msqid_ds __user *buf); 661 asmlinkage long sys_msgctl(int msqid, int cmd, struct msqid_ds __user *buf);
676 662
677 asmlinkage long sys_semget(key_t key, int nsems, int semflg); 663 asmlinkage long sys_semget(key_t key, int nsems, int semflg);
678 asmlinkage long sys_semop(int semid, struct sembuf __user *sops, 664 asmlinkage long sys_semop(int semid, struct sembuf __user *sops,
679 unsigned nsops); 665 unsigned nsops);
680 asmlinkage long sys_semctl(int semid, int semnum, int cmd, union semun arg); 666 asmlinkage long sys_semctl(int semid, int semnum, int cmd, union semun arg);
681 asmlinkage long sys_semtimedop(int semid, struct sembuf __user *sops, 667 asmlinkage long sys_semtimedop(int semid, struct sembuf __user *sops,
682 unsigned nsops, 668 unsigned nsops,
683 const struct timespec __user *timeout); 669 const struct timespec __user *timeout);
684 asmlinkage long sys_shmat(int shmid, char __user *shmaddr, int shmflg); 670 asmlinkage long sys_shmat(int shmid, char __user *shmaddr, int shmflg);
685 asmlinkage long sys_shmget(key_t key, size_t size, int flag); 671 asmlinkage long sys_shmget(key_t key, size_t size, int flag);
686 asmlinkage long sys_shmdt(char __user *shmaddr); 672 asmlinkage long sys_shmdt(char __user *shmaddr);
687 asmlinkage long sys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf); 673 asmlinkage long sys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf);
688 asmlinkage long sys_ipc(unsigned int call, int first, unsigned long second, 674 asmlinkage long sys_ipc(unsigned int call, int first, unsigned long second,
689 unsigned long third, void __user *ptr, long fifth); 675 unsigned long third, void __user *ptr, long fifth);
690 676
691 asmlinkage long sys_mq_open(const char __user *name, int oflag, umode_t mode, struct mq_attr __user *attr); 677 asmlinkage long sys_mq_open(const char __user *name, int oflag, umode_t mode, struct mq_attr __user *attr);
692 asmlinkage long sys_mq_unlink(const char __user *name); 678 asmlinkage long sys_mq_unlink(const char __user *name);
693 asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec __user *abs_timeout); 679 asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec __user *abs_timeout);
694 asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *msg_ptr, size_t msg_len, unsigned int __user *msg_prio, const struct timespec __user *abs_timeout); 680 asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *msg_ptr, size_t msg_len, unsigned int __user *msg_prio, const struct timespec __user *abs_timeout);
695 asmlinkage long sys_mq_notify(mqd_t mqdes, const struct sigevent __user *notification); 681 asmlinkage long sys_mq_notify(mqd_t mqdes, const struct sigevent __user *notification);
696 asmlinkage long sys_mq_getsetattr(mqd_t mqdes, const struct mq_attr __user *mqstat, struct mq_attr __user *omqstat); 682 asmlinkage long sys_mq_getsetattr(mqd_t mqdes, const struct mq_attr __user *mqstat, struct mq_attr __user *omqstat);
697 683
698 asmlinkage long sys_pciconfig_iobase(long which, unsigned long bus, unsigned long devfn); 684 asmlinkage long sys_pciconfig_iobase(long which, unsigned long bus, unsigned long devfn);
699 asmlinkage long sys_pciconfig_read(unsigned long bus, unsigned long dfn, 685 asmlinkage long sys_pciconfig_read(unsigned long bus, unsigned long dfn,
700 unsigned long off, unsigned long len, 686 unsigned long off, unsigned long len,
701 void __user *buf); 687 void __user *buf);
702 asmlinkage long sys_pciconfig_write(unsigned long bus, unsigned long dfn, 688 asmlinkage long sys_pciconfig_write(unsigned long bus, unsigned long dfn,
703 unsigned long off, unsigned long len, 689 unsigned long off, unsigned long len,
704 void __user *buf); 690 void __user *buf);
705 691
706 asmlinkage long sys_prctl(int option, unsigned long arg2, unsigned long arg3, 692 asmlinkage long sys_prctl(int option, unsigned long arg2, unsigned long arg3,
707 unsigned long arg4, unsigned long arg5); 693 unsigned long arg4, unsigned long arg5);
708 asmlinkage long sys_swapon(const char __user *specialfile, int swap_flags); 694 asmlinkage long sys_swapon(const char __user *specialfile, int swap_flags);
709 asmlinkage long sys_swapoff(const char __user *specialfile); 695 asmlinkage long sys_swapoff(const char __user *specialfile);
710 asmlinkage long sys_sysctl(struct __sysctl_args __user *args); 696 asmlinkage long sys_sysctl(struct __sysctl_args __user *args);
711 asmlinkage long sys_sysinfo(struct sysinfo __user *info); 697 asmlinkage long sys_sysinfo(struct sysinfo __user *info);
712 asmlinkage long sys_sysfs(int option, 698 asmlinkage long sys_sysfs(int option,
713 unsigned long arg1, unsigned long arg2); 699 unsigned long arg1, unsigned long arg2);
714 asmlinkage long sys_syslog(int type, char __user *buf, int len); 700 asmlinkage long sys_syslog(int type, char __user *buf, int len);
715 asmlinkage long sys_uselib(const char __user *library); 701 asmlinkage long sys_uselib(const char __user *library);
716 asmlinkage long sys_ni_syscall(void); 702 asmlinkage long sys_ni_syscall(void);
717 asmlinkage long sys_ptrace(long request, long pid, unsigned long addr, 703 asmlinkage long sys_ptrace(long request, long pid, unsigned long addr,
718 unsigned long data); 704 unsigned long data);
719 705
720 asmlinkage long sys_add_key(const char __user *_type, 706 asmlinkage long sys_add_key(const char __user *_type,
721 const char __user *_description, 707 const char __user *_description,
722 const void __user *_payload, 708 const void __user *_payload,
723 size_t plen, 709 size_t plen,
724 key_serial_t destringid); 710 key_serial_t destringid);
725 711
726 asmlinkage long sys_request_key(const char __user *_type, 712 asmlinkage long sys_request_key(const char __user *_type,
727 const char __user *_description, 713 const char __user *_description,
728 const char __user *_callout_info, 714 const char __user *_callout_info,
729 key_serial_t destringid); 715 key_serial_t destringid);
730 716
731 asmlinkage long sys_keyctl(int cmd, unsigned long arg2, unsigned long arg3, 717 asmlinkage long sys_keyctl(int cmd, unsigned long arg2, unsigned long arg3,
732 unsigned long arg4, unsigned long arg5); 718 unsigned long arg4, unsigned long arg5);
733 719
734 asmlinkage long sys_ioprio_set(int which, int who, int ioprio); 720 asmlinkage long sys_ioprio_set(int which, int who, int ioprio);
735 asmlinkage long sys_ioprio_get(int which, int who); 721 asmlinkage long sys_ioprio_get(int which, int who);
736 asmlinkage long sys_set_mempolicy(int mode, unsigned long __user *nmask, 722 asmlinkage long sys_set_mempolicy(int mode, unsigned long __user *nmask,
737 unsigned long maxnode); 723 unsigned long maxnode);
738 asmlinkage long sys_migrate_pages(pid_t pid, unsigned long maxnode, 724 asmlinkage long sys_migrate_pages(pid_t pid, unsigned long maxnode,
739 const unsigned long __user *from, 725 const unsigned long __user *from,
740 const unsigned long __user *to); 726 const unsigned long __user *to);
741 asmlinkage long sys_move_pages(pid_t pid, unsigned long nr_pages, 727 asmlinkage long sys_move_pages(pid_t pid, unsigned long nr_pages,
742 const void __user * __user *pages, 728 const void __user * __user *pages,
743 const int __user *nodes, 729 const int __user *nodes,
744 int __user *status, 730 int __user *status,
745 int flags); 731 int flags);
746 asmlinkage long sys_mbind(unsigned long start, unsigned long len, 732 asmlinkage long sys_mbind(unsigned long start, unsigned long len,
747 unsigned long mode, 733 unsigned long mode,
748 unsigned long __user *nmask, 734 unsigned long __user *nmask,
749 unsigned long maxnode, 735 unsigned long maxnode,
750 unsigned flags); 736 unsigned flags);
751 asmlinkage long sys_get_mempolicy(int __user *policy, 737 asmlinkage long sys_get_mempolicy(int __user *policy,
752 unsigned long __user *nmask, 738 unsigned long __user *nmask,
753 unsigned long maxnode, 739 unsigned long maxnode,
754 unsigned long addr, unsigned long flags); 740 unsigned long addr, unsigned long flags);
755 741
756 asmlinkage long sys_inotify_init(void); 742 asmlinkage long sys_inotify_init(void);
757 asmlinkage long sys_inotify_init1(int flags); 743 asmlinkage long sys_inotify_init1(int flags);
758 asmlinkage long sys_inotify_add_watch(int fd, const char __user *path, 744 asmlinkage long sys_inotify_add_watch(int fd, const char __user *path,
759 u32 mask); 745 u32 mask);
760 asmlinkage long sys_inotify_rm_watch(int fd, __s32 wd); 746 asmlinkage long sys_inotify_rm_watch(int fd, __s32 wd);
761 747
762 asmlinkage long sys_spu_run(int fd, __u32 __user *unpc, 748 asmlinkage long sys_spu_run(int fd, __u32 __user *unpc,
763 __u32 __user *ustatus); 749 __u32 __user *ustatus);
764 asmlinkage long sys_spu_create(const char __user *name, 750 asmlinkage long sys_spu_create(const char __user *name,
765 unsigned int flags, umode_t mode, int fd); 751 unsigned int flags, umode_t mode, int fd);
766 752
767 asmlinkage long sys_mknodat(int dfd, const char __user * filename, umode_t mode, 753 asmlinkage long sys_mknodat(int dfd, const char __user * filename, umode_t mode,
768 unsigned dev); 754 unsigned dev);
769 asmlinkage long sys_mkdirat(int dfd, const char __user * pathname, umode_t mode); 755 asmlinkage long sys_mkdirat(int dfd, const char __user * pathname, umode_t mode);
770 asmlinkage long sys_unlinkat(int dfd, const char __user * pathname, int flag); 756 asmlinkage long sys_unlinkat(int dfd, const char __user * pathname, int flag);
771 asmlinkage long sys_symlinkat(const char __user * oldname, 757 asmlinkage long sys_symlinkat(const char __user * oldname,
772 int newdfd, const char __user * newname); 758 int newdfd, const char __user * newname);
773 asmlinkage long sys_linkat(int olddfd, const char __user *oldname, 759 asmlinkage long sys_linkat(int olddfd, const char __user *oldname,
774 int newdfd, const char __user *newname, int flags); 760 int newdfd, const char __user *newname, int flags);
775 asmlinkage long sys_renameat(int olddfd, const char __user * oldname, 761 asmlinkage long sys_renameat(int olddfd, const char __user * oldname,
776 int newdfd, const char __user * newname); 762 int newdfd, const char __user * newname);
777 asmlinkage long sys_futimesat(int dfd, const char __user *filename, 763 asmlinkage long sys_futimesat(int dfd, const char __user *filename,
778 struct timeval __user *utimes); 764 struct timeval __user *utimes);
779 asmlinkage long sys_faccessat(int dfd, const char __user *filename, int mode); 765 asmlinkage long sys_faccessat(int dfd, const char __user *filename, int mode);
780 asmlinkage long sys_fchmodat(int dfd, const char __user * filename, 766 asmlinkage long sys_fchmodat(int dfd, const char __user * filename,
781 umode_t mode); 767 umode_t mode);
782 asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user, 768 asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user,
783 gid_t group, int flag); 769 gid_t group, int flag);
784 asmlinkage long sys_openat(int dfd, const char __user *filename, int flags, 770 asmlinkage long sys_openat(int dfd, const char __user *filename, int flags,
785 umode_t mode); 771 umode_t mode);
786 asmlinkage long sys_newfstatat(int dfd, const char __user *filename, 772 asmlinkage long sys_newfstatat(int dfd, const char __user *filename,
787 struct stat __user *statbuf, int flag); 773 struct stat __user *statbuf, int flag);
788 asmlinkage long sys_fstatat64(int dfd, const char __user *filename, 774 asmlinkage long sys_fstatat64(int dfd, const char __user *filename,
789 struct stat64 __user *statbuf, int flag); 775 struct stat64 __user *statbuf, int flag);
790 asmlinkage long sys_readlinkat(int dfd, const char __user *path, char __user *buf, 776 asmlinkage long sys_readlinkat(int dfd, const char __user *path, char __user *buf,
791 int bufsiz); 777 int bufsiz);
792 asmlinkage long sys_utimensat(int dfd, const char __user *filename, 778 asmlinkage long sys_utimensat(int dfd, const char __user *filename,
793 struct timespec __user *utimes, int flags); 779 struct timespec __user *utimes, int flags);
794 asmlinkage long sys_unshare(unsigned long unshare_flags); 780 asmlinkage long sys_unshare(unsigned long unshare_flags);
795 781
796 asmlinkage long sys_splice(int fd_in, loff_t __user *off_in, 782 asmlinkage long sys_splice(int fd_in, loff_t __user *off_in,
797 int fd_out, loff_t __user *off_out, 783 int fd_out, loff_t __user *off_out,
798 size_t len, unsigned int flags); 784 size_t len, unsigned int flags);
799 785
800 asmlinkage long sys_vmsplice(int fd, const struct iovec __user *iov, 786 asmlinkage long sys_vmsplice(int fd, const struct iovec __user *iov,
801 unsigned long nr_segs, unsigned int flags); 787 unsigned long nr_segs, unsigned int flags);
802 788
803 asmlinkage long sys_tee(int fdin, int fdout, size_t len, unsigned int flags); 789 asmlinkage long sys_tee(int fdin, int fdout, size_t len, unsigned int flags);
804 790
805 asmlinkage long sys_sync_file_range(int fd, loff_t offset, loff_t nbytes, 791 asmlinkage long sys_sync_file_range(int fd, loff_t offset, loff_t nbytes,
806 unsigned int flags); 792 unsigned int flags);
807 asmlinkage long sys_sync_file_range2(int fd, unsigned int flags, 793 asmlinkage long sys_sync_file_range2(int fd, unsigned int flags,
808 loff_t offset, loff_t nbytes); 794 loff_t offset, loff_t nbytes);
809 asmlinkage long sys_get_robust_list(int pid, 795 asmlinkage long sys_get_robust_list(int pid,
810 struct robust_list_head __user * __user *head_ptr, 796 struct robust_list_head __user * __user *head_ptr,
811 size_t __user *len_ptr); 797 size_t __user *len_ptr);
812 asmlinkage long sys_set_robust_list(struct robust_list_head __user *head, 798 asmlinkage long sys_set_robust_list(struct robust_list_head __user *head,
813 size_t len); 799 size_t len);
814 asmlinkage long sys_getcpu(unsigned __user *cpu, unsigned __user *node, struct getcpu_cache __user *cache); 800 asmlinkage long sys_getcpu(unsigned __user *cpu, unsigned __user *node, struct getcpu_cache __user *cache);
815 asmlinkage long sys_signalfd(int ufd, sigset_t __user *user_mask, size_t sizemask); 801 asmlinkage long sys_signalfd(int ufd, sigset_t __user *user_mask, size_t sizemask);
816 asmlinkage long sys_signalfd4(int ufd, sigset_t __user *user_mask, size_t sizemask, int flags); 802 asmlinkage long sys_signalfd4(int ufd, sigset_t __user *user_mask, size_t sizemask, int flags);
817 asmlinkage long sys_timerfd_create(int clockid, int flags); 803 asmlinkage long sys_timerfd_create(int clockid, int flags);
818 asmlinkage long sys_timerfd_settime(int ufd, int flags, 804 asmlinkage long sys_timerfd_settime(int ufd, int flags,
819 const struct itimerspec __user *utmr, 805 const struct itimerspec __user *utmr,
820 struct itimerspec __user *otmr); 806 struct itimerspec __user *otmr);
821 asmlinkage long sys_timerfd_gettime(int ufd, struct itimerspec __user *otmr); 807 asmlinkage long sys_timerfd_gettime(int ufd, struct itimerspec __user *otmr);
822 asmlinkage long sys_eventfd(unsigned int count); 808 asmlinkage long sys_eventfd(unsigned int count);
823 asmlinkage long sys_eventfd2(unsigned int count, int flags); 809 asmlinkage long sys_eventfd2(unsigned int count, int flags);
824 asmlinkage long sys_fallocate(int fd, int mode, loff_t offset, loff_t len); 810 asmlinkage long sys_fallocate(int fd, int mode, loff_t offset, loff_t len);
825 asmlinkage long sys_old_readdir(unsigned int, struct old_linux_dirent __user *, unsigned int); 811 asmlinkage long sys_old_readdir(unsigned int, struct old_linux_dirent __user *, unsigned int);
826 asmlinkage long sys_pselect6(int, fd_set __user *, fd_set __user *, 812 asmlinkage long sys_pselect6(int, fd_set __user *, fd_set __user *,
827 fd_set __user *, struct timespec __user *, 813 fd_set __user *, struct timespec __user *,
828 void __user *); 814 void __user *);
829 asmlinkage long sys_ppoll(struct pollfd __user *, unsigned int, 815 asmlinkage long sys_ppoll(struct pollfd __user *, unsigned int,
830 struct timespec __user *, const sigset_t __user *, 816 struct timespec __user *, const sigset_t __user *,
831 size_t); 817 size_t);
832 asmlinkage long sys_fanotify_init(unsigned int flags, unsigned int event_f_flags); 818 asmlinkage long sys_fanotify_init(unsigned int flags, unsigned int event_f_flags);
833 asmlinkage long sys_fanotify_mark(int fanotify_fd, unsigned int flags, 819 asmlinkage long sys_fanotify_mark(int fanotify_fd, unsigned int flags,
834 u64 mask, int fd, 820 u64 mask, int fd,
835 const char __user *pathname); 821 const char __user *pathname);
836 asmlinkage long sys_syncfs(int fd); 822 asmlinkage long sys_syncfs(int fd);
837 823
838 asmlinkage long sys_fork(void); 824 asmlinkage long sys_fork(void);
839 asmlinkage long sys_vfork(void); 825 asmlinkage long sys_vfork(void);
840 #ifdef CONFIG_CLONE_BACKWARDS 826 #ifdef CONFIG_CLONE_BACKWARDS
841 asmlinkage long sys_clone(unsigned long, unsigned long, int __user *, int, 827 asmlinkage long sys_clone(unsigned long, unsigned long, int __user *, int,
842 int __user *); 828 int __user *);
843 #else 829 #else
844 asmlinkage long sys_clone(unsigned long, unsigned long, int __user *, 830 asmlinkage long sys_clone(unsigned long, unsigned long, int __user *,
845 int __user *, int); 831 int __user *, int);
846 #endif 832 #endif
847 833
848 asmlinkage long sys_execve(const char __user *filename, 834 asmlinkage long sys_execve(const char __user *filename,
849 const char __user *const __user *argv, 835 const char __user *const __user *argv,
850 const char __user *const __user *envp); 836 const char __user *const __user *envp);
851 837
852 asmlinkage long sys_perf_event_open( 838 asmlinkage long sys_perf_event_open(
853 struct perf_event_attr __user *attr_uptr, 839 struct perf_event_attr __user *attr_uptr,
854 pid_t pid, int cpu, int group_fd, unsigned long flags); 840 pid_t pid, int cpu, int group_fd, unsigned long flags);
855 841
856 asmlinkage long sys_mmap_pgoff(unsigned long addr, unsigned long len, 842 asmlinkage long sys_mmap_pgoff(unsigned long addr, unsigned long len,
857 unsigned long prot, unsigned long flags, 843 unsigned long prot, unsigned long flags,
858 unsigned long fd, unsigned long pgoff); 844 unsigned long fd, unsigned long pgoff);
859 asmlinkage long sys_old_mmap(struct mmap_arg_struct __user *arg); 845 asmlinkage long sys_old_mmap(struct mmap_arg_struct __user *arg);
860 asmlinkage long sys_name_to_handle_at(int dfd, const char __user *name, 846 asmlinkage long sys_name_to_handle_at(int dfd, const char __user *name,
861 struct file_handle __user *handle, 847 struct file_handle __user *handle,
862 int __user *mnt_id, int flag); 848 int __user *mnt_id, int flag);
863 asmlinkage long sys_open_by_handle_at(int mountdirfd, 849 asmlinkage long sys_open_by_handle_at(int mountdirfd,
864 struct file_handle __user *handle, 850 struct file_handle __user *handle,
865 int flags); 851 int flags);
866 asmlinkage long sys_setns(int fd, int nstype); 852 asmlinkage long sys_setns(int fd, int nstype);
867 asmlinkage long sys_process_vm_readv(pid_t pid, 853 asmlinkage long sys_process_vm_readv(pid_t pid,
868 const struct iovec __user *lvec, 854 const struct iovec __user *lvec,
869 unsigned long liovcnt, 855 unsigned long liovcnt,
870 const struct iovec __user *rvec, 856 const struct iovec __user *rvec,
871 unsigned long riovcnt, 857 unsigned long riovcnt,
872 unsigned long flags); 858 unsigned long flags);
873 asmlinkage long sys_process_vm_writev(pid_t pid, 859 asmlinkage long sys_process_vm_writev(pid_t pid,
874 const struct iovec __user *lvec, 860 const struct iovec __user *lvec,
875 unsigned long liovcnt, 861 unsigned long liovcnt,
876 const struct iovec __user *rvec, 862 const struct iovec __user *rvec,
877 unsigned long riovcnt, 863 unsigned long riovcnt,
878 unsigned long flags); 864 unsigned long flags);
879 865
880 asmlinkage long sys_kcmp(pid_t pid1, pid_t pid2, int type, 866 asmlinkage long sys_kcmp(pid_t pid1, pid_t pid2, int type,
881 unsigned long idx1, unsigned long idx2); 867 unsigned long idx1, unsigned long idx2);
882 asmlinkage long sys_finit_module(int fd, const char __user *uargs, int flags); 868 asmlinkage long sys_finit_module(int fd, const char __user *uargs, int flags);
883 #endif 869 #endif
884 870