blob: 7cd13cc62624b223873d654b4c8acf40ddd9f4f2 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Russell King4baa9922008-08-02 10:55:55 +01002 * arch/arm/include/asm/unistd.h
Linus Torvalds1da177e2005-04-16 15:20:36 -07003 *
4 * Copyright (C) 2001-2005 Russell King
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * Please forward _all_ changes to this file to rmk@arm.linux.org.uk,
11 * no matter what the change is. Thanks!
12 */
13#ifndef __ASM_ARM_UNISTD_H
14#define __ASM_ARM_UNISTD_H
15
David Howellscb8db5d2012-10-12 13:05:52 +010016#include <uapi/asm/unistd.h>
Nicolas Pitre3f2829a2006-01-14 16:31:29 +000017
Wade Farnsworth1f66e062012-09-07 18:18:25 +010018#define __NR_syscalls (380)
Russell Kingcc20d422009-11-09 23:53:29 +000019#define __ARM_NR_cmpxchg (__ARM_NR_BASE+0x00fff0)
Linus Torvalds1da177e2005-04-16 15:20:36 -070020
Linus Torvalds1da177e2005-04-16 15:20:36 -070021#define __ARCH_WANT_STAT64
Linus Torvalds1da177e2005-04-16 15:20:36 -070022#define __ARCH_WANT_SYS_GETHOSTNAME
23#define __ARCH_WANT_SYS_PAUSE
Linus Torvalds1da177e2005-04-16 15:20:36 -070024#define __ARCH_WANT_SYS_GETPGRP
25#define __ARCH_WANT_SYS_LLSEEK
26#define __ARCH_WANT_SYS_NICE
Linus Torvalds1da177e2005-04-16 15:20:36 -070027#define __ARCH_WANT_SYS_SIGPENDING
28#define __ARCH_WANT_SYS_SIGPROCMASK
29#define __ARCH_WANT_SYS_RT_SIGACTION
Mikael Pettersson36984262009-08-15 12:58:11 +010030#define __ARCH_WANT_SYS_RT_SIGSUSPEND
Christoph Hellwiga4679372010-03-10 15:21:15 -080031#define __ARCH_WANT_SYS_OLD_MMAP
Christoph Hellwig5d0e5282010-03-10 15:21:13 -080032#define __ARCH_WANT_SYS_OLD_SELECT
Nicolas Pitredd35afc2006-01-14 16:36:12 +000033
34#if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT)
35#define __ARCH_WANT_SYS_TIME
Christoph Hellwigbaed7fc2010-03-10 15:21:18 -080036#define __ARCH_WANT_SYS_IPC
Nicolas Pitredd35afc2006-01-14 16:36:12 +000037#define __ARCH_WANT_SYS_OLDUMOUNT
38#define __ARCH_WANT_SYS_ALARM
39#define __ARCH_WANT_SYS_UTIME
40#define __ARCH_WANT_SYS_OLD_GETRLIMIT
41#define __ARCH_WANT_OLD_READDIR
42#define __ARCH_WANT_SYS_SOCKETCALL
43#endif
Al Viroa63c97a2012-08-02 11:52:41 +040044#define __ARCH_WANT_SYS_EXECVE
Al Viro38a61b62012-10-21 15:54:27 -040045#define __ARCH_WANT_SYS_FORK
46#define __ARCH_WANT_SYS_VFORK
47#define __ARCH_WANT_SYS_CLONE
Linus Torvalds1da177e2005-04-16 15:20:36 -070048
Linus Torvalds1da177e2005-04-16 15:20:36 -070049/*
50 * "Conditional" syscalls
51 *
52 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
53 * but it doesn't work on all toolchains, so we just do it by hand
54 */
55#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
56
Russell Kingc0510792007-05-16 12:41:15 +010057/*
58 * Unimplemented (or alternatively implemented) syscalls
59 */
Russell King4dfa3382011-09-17 12:50:27 +010060#define __IGNORE_fadvise64_64
61#define __IGNORE_migrate_pages
Russell Kingbf619fa2012-09-21 17:55:20 +010062#define __IGNORE_kcmp
Russell Kingc0510792007-05-16 12:41:15 +010063
Linus Torvalds1da177e2005-04-16 15:20:36 -070064#endif /* __ASM_ARM_UNISTD_H */