blob: 086bb8eaf6abf3a75e6df3992519f69f1513851c [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Linus Torvalds1da177e2005-04-16 15:20:36 -07002 * S390 version
3 *
4 * Derived from "include/asm-i386/unistd.h"
5 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07006#ifndef _ASM_S390_UNISTD_H_
7#define _ASM_S390_UNISTD_H_
8
David Howells9807f752012-10-09 09:47:31 +01009#include <uapi/asm/unistd.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070010
David Woodhouse56142532006-04-29 01:51:47 +010011
Heiko Carstensfd5d8bf2007-05-21 11:25:20 +020012#ifndef CONFIG_64BIT
13#define __IGNORE_select
14#else
15#define __IGNORE_time
16#endif
17
18/* Ignore NUMA system calls. Not wired up on s390. */
19#define __IGNORE_mbind
20#define __IGNORE_get_mempolicy
21#define __IGNORE_set_mempolicy
22#define __IGNORE_migrate_pages
23#define __IGNORE_move_pages
24
Heiko Carstens94e587f2010-01-13 20:44:42 +010025/* Ignore system calls that are also reachable via sys_socket */
26#define __IGNORE_recvmmsg
Heiko Carstensbfac1d22011-05-23 10:24:47 +020027#define __IGNORE_sendmmsg
Heiko Carstens94e587f2010-01-13 20:44:42 +010028
Linus Torvalds1da177e2005-04-16 15:20:36 -070029#define __ARCH_WANT_OLD_READDIR
30#define __ARCH_WANT_SYS_ALARM
31#define __ARCH_WANT_SYS_GETHOSTNAME
32#define __ARCH_WANT_SYS_PAUSE
33#define __ARCH_WANT_SYS_SIGNAL
34#define __ARCH_WANT_SYS_UTIME
35#define __ARCH_WANT_SYS_SOCKETCALL
Heiko Carstens3a3954c2011-12-27 11:27:21 +010036#define __ARCH_WANT_SYS_IPC
Linus Torvalds1da177e2005-04-16 15:20:36 -070037#define __ARCH_WANT_SYS_FADVISE64
38#define __ARCH_WANT_SYS_GETPGRP
39#define __ARCH_WANT_SYS_LLSEEK
40#define __ARCH_WANT_SYS_NICE
41#define __ARCH_WANT_SYS_OLD_GETRLIMIT
Christoph Hellwiga4679372010-03-10 15:21:15 -080042#define __ARCH_WANT_SYS_OLD_MMAP
Linus Torvalds1da177e2005-04-16 15:20:36 -070043#define __ARCH_WANT_SYS_OLDUMOUNT
44#define __ARCH_WANT_SYS_SIGPENDING
45#define __ARCH_WANT_SYS_SIGPROCMASK
46#define __ARCH_WANT_SYS_RT_SIGACTION
Heiko Carstens54dfe5d2006-02-01 03:06:38 -080047#define __ARCH_WANT_SYS_RT_SIGSUSPEND
Martin Schwidefsky347a8dc2006-01-06 00:19:28 -080048# ifndef CONFIG_64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -070049# define __ARCH_WANT_STAT64
50# define __ARCH_WANT_SYS_TIME
51# endif
Heiko Carstens54dfe5d2006-02-01 03:06:38 -080052# ifdef CONFIG_COMPAT
53# define __ARCH_WANT_COMPAT_SYS_TIME
54# define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
55# endif
Al Viro65f22a92012-09-06 15:48:11 -040056#define __ARCH_WANT_SYS_EXECVE
Al Viro87f1ca82012-10-21 16:44:27 -040057#define __ARCH_WANT_SYS_FORK
58#define __ARCH_WANT_SYS_VFORK
59#define __ARCH_WANT_SYS_CLONE
Linus Torvalds1da177e2005-04-16 15:20:36 -070060
Linus Torvalds1da177e2005-04-16 15:20:36 -070061/*
62 * "Conditional" syscalls
63 *
64 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
65 * but it doesn't work on all toolchains, so we just do it by hand
66 */
67#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
68
Linus Torvalds1da177e2005-04-16 15:20:36 -070069#endif /* _ASM_S390_UNISTD_H_ */