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