blob: 9e47cc11aa263ba3991d680736bce6aeea41447e [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
David Howells61730c52012-10-09 09:47:14 +010015#include <uapi/asm/unistd.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070016
David Woodhouse56142532006-04-29 01:51:47 +010017
Linus Torvalds1da177e2005-04-16 15:20:36 -070018#ifndef __ASSEMBLY__
19
Ralf Baechle21e9ac72006-10-30 21:38:22 +000020#define __ARCH_OMIT_COMPAT_SYS_GETDENTS64
Linus Torvalds1da177e2005-04-16 15:20:36 -070021#define __ARCH_WANT_OLD_READDIR
22#define __ARCH_WANT_SYS_ALARM
23#define __ARCH_WANT_SYS_GETHOSTNAME
Christoph Hellwigbaed7fc2010-03-10 15:21:18 -080024#define __ARCH_WANT_SYS_IPC
Linus Torvalds1da177e2005-04-16 15:20:36 -070025#define __ARCH_WANT_SYS_PAUSE
26#define __ARCH_WANT_SYS_SGETMASK
27#define __ARCH_WANT_SYS_UTIME
28#define __ARCH_WANT_SYS_WAITPID
29#define __ARCH_WANT_SYS_SOCKETCALL
Linus Torvalds1da177e2005-04-16 15:20:36 -070030#define __ARCH_WANT_SYS_GETPGRP
31#define __ARCH_WANT_SYS_LLSEEK
32#define __ARCH_WANT_SYS_NICE
33#define __ARCH_WANT_SYS_OLD_GETRLIMIT
Christoph Hellwig5cacdb42010-03-10 15:21:21 -080034#define __ARCH_WANT_SYS_OLD_UNAME
Linus Torvalds1da177e2005-04-16 15:20:36 -070035#define __ARCH_WANT_SYS_OLDUMOUNT
36#define __ARCH_WANT_SYS_SIGPENDING
37#define __ARCH_WANT_SYS_SIGPROCMASK
38#define __ARCH_WANT_SYS_RT_SIGACTION
Ralf Baechle875d43e2005-09-03 15:56:16 -070039# ifdef CONFIG_32BIT
Ralf Baechle359bbd42006-02-09 12:13:28 +000040# define __ARCH_WANT_STAT64
Linus Torvalds1da177e2005-04-16 15:20:36 -070041# define __ARCH_WANT_SYS_TIME
42# endif
43# ifdef CONFIG_MIPS32_O32
44# define __ARCH_WANT_COMPAT_SYS_TIME
45# endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070046
Atsushi Nemoto83d0f232007-05-29 23:30:04 +090047/* whitelists for checksyscalls */
48#define __IGNORE_select
49#define __IGNORE_vfork
50#define __IGNORE_time
51#define __IGNORE_uselib
52#define __IGNORE_fadvise64_64
53#define __IGNORE_getdents64
54#if _MIPS_SIM == _MIPS_SIM_NABI32
55#define __IGNORE_truncate64
56#define __IGNORE_ftruncate64
57#define __IGNORE_stat64
58#define __IGNORE_lstat64
59#define __IGNORE_fstat64
60#define __IGNORE_fstatat64
61#endif
62
Linus Torvalds1da177e2005-04-16 15:20:36 -070063#endif /* !__ASSEMBLY__ */
64
65/*
66 * "Conditional" syscalls
67 *
68 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
69 * but it doesn't work on all toolchains, so we just do it by hand
70 */
71#define cond_syscall(x) asm(".weak\t" #x "\n" #x "\t=\tsys_ni_syscall")
72
Linus Torvalds1da177e2005-04-16 15:20:36 -070073#endif /* _ASM_UNISTD_H */