xref: /openbmc/linux/arch/s390/include/asm/unistd.h (revision 9807f75955ea7f1877981056755284481873115c)
1c6557e7fSMartin Schwidefsky /*
2c6557e7fSMartin Schwidefsky  *  S390 version
3c6557e7fSMartin Schwidefsky  *
4c6557e7fSMartin Schwidefsky  *  Derived from "include/asm-i386/unistd.h"
5c6557e7fSMartin Schwidefsky  */
6c6557e7fSMartin Schwidefsky #ifndef _ASM_S390_UNISTD_H_
7c6557e7fSMartin Schwidefsky #define _ASM_S390_UNISTD_H_
8c6557e7fSMartin Schwidefsky 
9*9807f759SDavid Howells #include <uapi/asm/unistd.h>
10c6557e7fSMartin Schwidefsky 
11c6557e7fSMartin Schwidefsky 
12c6557e7fSMartin Schwidefsky #ifndef CONFIG_64BIT
13c6557e7fSMartin Schwidefsky #define __IGNORE_select
14c6557e7fSMartin Schwidefsky #else
15c6557e7fSMartin Schwidefsky #define __IGNORE_time
16c6557e7fSMartin Schwidefsky #endif
17c6557e7fSMartin Schwidefsky 
18c6557e7fSMartin Schwidefsky /* Ignore NUMA system calls. Not wired up on s390. */
19c6557e7fSMartin Schwidefsky #define __IGNORE_mbind
20c6557e7fSMartin Schwidefsky #define __IGNORE_get_mempolicy
21c6557e7fSMartin Schwidefsky #define __IGNORE_set_mempolicy
22c6557e7fSMartin Schwidefsky #define __IGNORE_migrate_pages
23c6557e7fSMartin Schwidefsky #define __IGNORE_move_pages
24c6557e7fSMartin Schwidefsky 
2594e587f6SHeiko Carstens /* Ignore system calls that are also reachable via sys_socket */
2694e587f6SHeiko Carstens #define __IGNORE_recvmmsg
27bfac1d2dSHeiko Carstens #define __IGNORE_sendmmsg
2894e587f6SHeiko Carstens 
29c6557e7fSMartin Schwidefsky #define __ARCH_WANT_OLD_READDIR
30c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_ALARM
31c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_GETHOSTNAME
32c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_PAUSE
33c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_SIGNAL
34c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_UTIME
35c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_SOCKETCALL
363a3954ceSHeiko Carstens #define __ARCH_WANT_SYS_IPC
37c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_FADVISE64
38c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_GETPGRP
39c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_LLSEEK
40c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_NICE
41c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_OLD_GETRLIMIT
42a4679373SChristoph Hellwig #define __ARCH_WANT_SYS_OLD_MMAP
43c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_OLDUMOUNT
44c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_SIGPENDING
45c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_SIGPROCMASK
46c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_RT_SIGACTION
47c6557e7fSMartin Schwidefsky #define __ARCH_WANT_SYS_RT_SIGSUSPEND
48c6557e7fSMartin Schwidefsky # ifndef CONFIG_64BIT
49c6557e7fSMartin Schwidefsky #   define __ARCH_WANT_STAT64
50c6557e7fSMartin Schwidefsky #   define __ARCH_WANT_SYS_TIME
51c6557e7fSMartin Schwidefsky # endif
52c6557e7fSMartin Schwidefsky # ifdef CONFIG_COMPAT
53c6557e7fSMartin Schwidefsky #   define __ARCH_WANT_COMPAT_SYS_TIME
54c6557e7fSMartin Schwidefsky #   define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
55c6557e7fSMartin Schwidefsky # endif
56c6557e7fSMartin Schwidefsky 
57c6557e7fSMartin Schwidefsky /*
58c6557e7fSMartin Schwidefsky  * "Conditional" syscalls
59c6557e7fSMartin Schwidefsky  *
60c6557e7fSMartin Schwidefsky  * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
61c6557e7fSMartin Schwidefsky  * but it doesn't work on all toolchains, so we just do it by hand
62c6557e7fSMartin Schwidefsky  */
63c6557e7fSMartin Schwidefsky #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
64c6557e7fSMartin Schwidefsky 
65c6557e7fSMartin Schwidefsky #endif /* _ASM_S390_UNISTD_H_ */
66