xref: /linux/arch/mips/include/asm/unistd.h (revision b889fcf63cb62e7fdb7816565e28f44dbe4a76a5)
1 /*
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
4  * for more details.
5  *
6  * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle
7  * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
8  *
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
11  */
12 #ifndef _ASM_UNISTD_H
13 #define _ASM_UNISTD_H
14 
15 #include <uapi/asm/unistd.h>
16 
17 
18 #ifndef __ASSEMBLY__
19 
20 #define __ARCH_OMIT_COMPAT_SYS_GETDENTS64
21 #define __ARCH_WANT_OLD_READDIR
22 #define __ARCH_WANT_SYS_ALARM
23 #define __ARCH_WANT_SYS_EXECVE
24 #define __ARCH_WANT_SYS_GETHOSTNAME
25 #define __ARCH_WANT_SYS_IPC
26 #define __ARCH_WANT_SYS_PAUSE
27 #define __ARCH_WANT_SYS_SGETMASK
28 #define __ARCH_WANT_SYS_UTIME
29 #define __ARCH_WANT_SYS_WAITPID
30 #define __ARCH_WANT_SYS_SOCKETCALL
31 #define __ARCH_WANT_SYS_GETPGRP
32 #define __ARCH_WANT_SYS_LLSEEK
33 #define __ARCH_WANT_SYS_NICE
34 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
35 #define __ARCH_WANT_SYS_OLD_UNAME
36 #define __ARCH_WANT_SYS_OLDUMOUNT
37 #define __ARCH_WANT_SYS_SIGPENDING
38 #define __ARCH_WANT_SYS_SIGPROCMASK
39 #define __ARCH_WANT_SYS_RT_SIGACTION
40 # ifdef CONFIG_32BIT
41 #  define __ARCH_WANT_STAT64
42 #  define __ARCH_WANT_SYS_TIME
43 # endif
44 # ifdef CONFIG_MIPS32_O32
45 #  define __ARCH_WANT_COMPAT_SYS_TIME
46 # endif
47 
48 /* whitelists for checksyscalls */
49 #define __IGNORE_select
50 #define __IGNORE_vfork
51 #define __IGNORE_time
52 #define __IGNORE_uselib
53 #define __IGNORE_fadvise64_64
54 #define __IGNORE_getdents64
55 #if _MIPS_SIM == _MIPS_SIM_NABI32
56 #define __IGNORE_truncate64
57 #define __IGNORE_ftruncate64
58 #define __IGNORE_stat64
59 #define __IGNORE_lstat64
60 #define __IGNORE_fstat64
61 #define __IGNORE_fstatat64
62 #endif
63 
64 #endif /* !__ASSEMBLY__ */
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 */
75