Commit e1b5bb6d1236d4ad2084c53aa83dde7cdf6f8eea
1 parent
4a0fd5bf0f
Exists in
master
and in
20 other branches
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
- arch/alpha/include/asm/unistd.h
- arch/arm/include/asm/unistd.h
- arch/avr32/include/asm/unistd.h
- arch/blackfin/include/asm/unistd.h
- arch/cris/include/asm/unistd.h
- arch/frv/include/asm/unistd.h
- arch/h8300/include/asm/linkage.h
- arch/h8300/include/asm/unistd.h
- arch/ia64/include/asm/linkage.h
- arch/ia64/include/asm/unistd.h
- arch/m32r/include/asm/unistd.h
- arch/m68k/include/asm/unistd.h
- arch/microblaze/include/asm/unistd.h
- arch/mips/include/asm/linkage.h
- arch/mips/include/asm/unistd.h
- arch/mn10300/include/asm/unistd.h
- arch/parisc/include/asm/unistd.h
- arch/powerpc/include/asm/linkage.h
- arch/powerpc/include/asm/unistd.h
- arch/powerpc/include/uapi/asm/linkage.h
- arch/s390/include/asm/unistd.h
- arch/sh/include/asm/unistd.h
- arch/sparc/include/asm/unistd.h
- arch/x86/include/asm/unistd.h
- arch/xtensa/include/asm/unistd.h
- include/asm-generic/unistd.h
- include/linux/linkage.h
- include/linux/syscalls.h
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 |
-
mentioned in commit dade93
-
mentioned in commit dade93
-
mentioned in commit dade93
-
mentioned in commit dade93
-
mentioned in commit dade93
-
mentioned in commit dade93
-
mentioned in commit dade93
-
mentioned in commit dade93
-
mentioned in commit dade93
-
mentioned in commit dade93
-
mentioned in commit dade93
-
mentioned in commit dade93
-
mentioned in commit dade93