xref: /netbsd-src/sys/compat/linux/arch/arm/syscalls.master (revision 6d322f2f4598f0d8a138f10ea648ec4fabe41f8b)
1	$NetBSD: syscalls.master,v 1.54 2013/12/08 15:55:10 njoly Exp $
2
3; Derived from sys/compat/linux/arch/*/syscalls.master
4; and from Linux 2.4.12 arch/arm/kernel/calls.S
5
6; NetBSD/arm COMPAT_LINUX system call name/number "master" file.
7; (See syscalls.conf to see what it is processed into.)
8;
9; Fields: number type [type-dependent ...]
10;	number	system call number, must be in order
11;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
12;		the compatibility options defined in syscalls.conf.
13;
14; types:
15;	STD	always included
16;	OBSOL	obsolete, not included in system
17;	UNIMPL	unimplemented, not included in system
18;	NODEF	included, but don't define the syscall number
19;	NOARGS	included, but don't define the syscall args structure
20;	INDIR	included, but don't define the syscall args structure
21;		and allow it to be "really" varargs.
22;
23; The compat options are defined in the syscalls.conf file, and the
24; compat option name is prefixed to the syscall name.  Other than
25; that, they're like NODEF (for 'compat' options), or STD (for
26; 'libcompat' options).
27;
28; The type-dependent arguments are as follows:
29; For STD, NODEF, NOARGS, and compat syscalls:
30;	{ pseudo-proto } [alias]
31; For other syscalls:
32;	[comment]
33;
34; #ifdef's, etc. may be included, and are copied to the output files.
35; #include's are copied to the syscall names and switch definition files only.
36
37#include <sys/param.h>
38#include <sys/poll.h>
39#include <sys/systm.h>
40#include <sys/signal.h>
41#include <sys/mount.h>
42#include <sys/syscallargs.h>
43#include <sys/time.h>
44
45#include <compat/sys/time.h>
46#include <compat/linux/common/linux_types.h>
47#include <compat/linux/common/linux_mmap.h>
48#include <compat/linux/common/linux_signal.h>
49#include <compat/linux/common/linux_siginfo.h>
50#include <compat/linux/common/linux_machdep.h>
51
52#include <compat/linux/linux_syscallargs.h>
53
54%%
55; XXX We have to explicitly declare linux_sys_nosys.
560	NOARGS		{ int|linux_sys||nosys(void); }
571	STD		{ int|linux_sys||exit(int rval); }
582	NOARGS		{ int|sys||fork(void); }
593	NOARGS		{ int|sys||read(int fd, char *buf, u_int nbyte); }
604	NOARGS		{ int|sys||write(int fd, char *buf, u_int nbyte); }
615	STD		{ int|linux_sys||open(const char *path, int flags, \
62			    linux_umode_t mode); }
636	NOARGS		{ int|sys||close(int fd); }
647	STD		{ int|linux_sys||waitpid(int pid, int *status, \
65			    int options);}
668	STD		{ int|linux_sys||creat(const char *path, linux_umode_t mode); }
679	NOARGS		{ int|sys||link(const char *path, const char *link); }
6810	STD		{ int|linux_sys||unlink(const char *path); }
6911	NOARGS		{ int|sys||execve(const char *path, char **argp, \
70			    char **envp); }
7112	NOARGS		{ int|sys||chdir(const char *path); }
7213	STD		{ int|linux_sys||time(linux_time_t *t); }
7314	STD		{ int|linux_sys||mknod(const char *path, linux_umode_t mode, \
74			    int dev); }
7515	NOARGS		{ int|sys||chmod(const char *path, int mode); }
7616	STD		{ int|linux_sys||lchown16(const char *path, \
77			    linux_uid16_t uid, linux_gid16_t gid); }
7817	OBSOL		break
7918	OBSOL		ostat
8019	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
81			    int whence); }
8220	NOARGS 		{ pid_t|sys||getpid(void); }
8321	UNIMPL		mount
8422	OBSOL		umount
8523	NOARGS		{ int|sys||setuid(uid_t uid); }
8624	NOARGS		{ uid_t|sys||getuid(void); }
8725	STD		{ int|linux_sys||stime(linux_time_t *t); }
8826	STD		{ int|linux_sys||ptrace(int request, int pid, \
89			    int addr, int data); }
9027	STD		{ int|linux_sys||alarm(unsigned int secs); }
9128	OBSOL		ofstat
9229	STD		{ int|linux_sys||pause(void); }
9330	STD		{ int|linux_sys||utime(const char *path, \
94			    struct linux_utimbuf *times); }
9531	OBSOL		stty
9632	OBSOL		gtty
9733	NOARGS		{ int|sys||access(const char *path, int flags); }
9834	STD		{ int|linux_sys||nice(int incr); }
9935	OBSOL		ftime
10036	NOARGS		{ int|sys||sync(void); }
10137	STD		{ int|linux_sys||kill(int pid, int signum); }
10238	NOARGS		{ int|sys||__posix_rename(const char *from, \
103			    const char *to); }
10439	NOARGS		{ int|sys||mkdir(const char *path, linux_umode_t mode); }
10540	NOARGS		{ int|sys||rmdir(const char *path); }
10641	NOARGS		{ int|sys||dup(int fd); }
10742	STD		{ int|linux_sys||pipe(int *pfds); }
10843	STD		{ int|linux_sys||times(struct times *tms); }
10944	OBSOL		prof
11045	STD		{ int|linux_sys||brk(char *nsize); }
11146	NOARGS		{ int|sys||setgid(gid_t gid); }
11247	NOARGS		{ gid_t|sys||getgid(void); }
11348	STD		{ int|linux_sys||signal(int signum, \
114			    linux_handler_t handler); }
11549	NOARGS		{ uid_t|sys||geteuid(void); }
11650	NOARGS		{ gid_t|sys||getegid(void); }
11751	NOARGS		{ int|sys||acct(char *path); }
11852	UNIMPL		umount
11953	OBSOL		lock
12054	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
121			    void *data); }
12255	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
12356	OBSOL		mpx
12457	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
12558	OBSOL		ulimit
12659 	STD		{ int|linux_sys||oldolduname( \
127			   struct linux_oldold_utsname *up); }
12860	NOARGS		{ int|sys||umask(int newmask); }
12961	NOARGS		{ int|sys||chroot(char *path); }
13062	UNIMPL		ustat
13163	NOARGS		{ int|sys||dup2(int from, int to); }
13264	NOARGS		{ pid_t|sys||getppid(void); }
13365	NOARGS		{ int|sys||getpgrp(void); }
13466	NOARGS		{ int|sys||setsid(void); }
13567	STD		{ int|linux_sys||sigaction(int signum, \
136			    const struct linux_old_sigaction *nsa, \
137			    struct linux_old_sigaction *osa); }
13868	STD		{ int|linux_sys||siggetmask(void); }
13969	STD		{ int|linux_sys||sigsetmask(linux_old_sigset_t mask); }
14070	STD		{ int|linux_sys||setreuid16(linux_uid16_t ruid, \
141			    linux_uid16_t euid); }
14271	STD		{ int|linux_sys||setregid16(linux_gid16_t rgid, \
143			    linux_gid16_t egid); }
14472	STD		{ int|linux_sys||sigsuspend(void *restart, \
145			    int oldmask, int mask); }
14673	STD		{ int|linux_sys||sigpending(linux_old_sigset_t *set); }
14774	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
148			    u_int len);}
14975	STD		{ int|linux_sys||setrlimit(u_int which, \
150			    struct orlimit *rlp); }
15176	STD		{ int|linux_sys||getrlimit(u_int which, \
152			    struct orlimit *rlp); }
15377	NOARGS		{ int|compat_50_sys||getrusage(int who, struct rusage50 *rusage); }
15478	STD		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
155			    struct timezone *tzp); }
15679	STD		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
157			    struct timezone *tzp); }
15880	STD		{ int|linux_sys||getgroups16(int gidsetsize, \
159			    linux_gid16_t *gidset); }
16081	STD		{ int|linux_sys||setgroups16(int gidsetsize, \
161			    linux_gid16_t *gidset); }
16282	STD		{ int|linux_sys||oldselect(struct linux_oldselect *lsp); }
16383	NOARGS		{ int|sys||symlink(const char *path, const char *to); }
16484	NOARGS		{ int|compat_43_sys||lstat(const char *path, \
165			    struct stat43 *up); } oolstat
16685	NOARGS		{ int|sys||readlink(const char *name, char *buf, \
167			    int count); }
168#ifdef EXEC_AOUT
16986	STD		{ int|linux_sys||uselib(const char *path); }
170#else
17186	EXCL		uselib
172#endif
17387	STD		{ int|linux_sys||swapon(char *name); }
17488	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
175			    int cmd, void *arg); }
17689	STD		{ int|linux_sys||readdir(int fd, void *dent, \
177			    unsigned int count); }
17890	STD		{ int|linux_sys||old_mmap(struct linux_oldmmap *lmp); }
17991	NOARGS		{ int|sys||munmap(void *addr, int len); }
18092	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
181			    long length); }
18293	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); }
18394	NOARGS		{ int|sys||fchmod(int fd, linux_umode_t mode); }
18495	STD		{ int|linux_sys||fchown16(int fd, linux_uid16_t uid, \
185			    linux_gid16_t gid); }
18696	STD		{ int|linux_sys||getpriority(int which, int who); }
18797	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
18898	NOARGS		{ int|sys||profil(void *samples, u_int size, \
189			    u_int offset, u_int scale); }
19099	STD		{ int|linux_sys||statfs(const char *path, \
191			    struct linux_statfs *sp); }
192100	STD		{ int|linux_sys||fstatfs(int fd, \
193			    struct linux_statfs *sp); }
194101	UNIMPL
195102	STD		{ int|linux_sys||socketcall(int what, void *args); }
196103	UNIMPL		syslog
197104	NOARGS		{ int|compat_50_sys||setitimer(int which, \
198			    struct itimerval50 *itv, \
199			    struct itimerval50 *oitv); }
200105	NOARGS		{ int|compat_50_sys||getitimer(int which, \
201			    struct itimerval50 *itv); }
202106	STD		{ int|linux_sys||stat(const char *path, \
203			    struct linux_stat *sp); }
204107	STD		{ int|linux_sys||lstat(const char *path, \
205			    struct linux_stat *sp); }
206108	STD		{ int|linux_sys||fstat(int fd, struct linux_stat *sp); }
207109	STD		{ int|linux_sys||olduname(struct linux_oldutsname *up); }
208110	UNIMPL
209111	UNIMPL		vhangup
210112	UNIMPL		idle
211113	UNIMPL		syscall
212114	STD		{ int|linux_sys||wait4(int pid, int *status, \
213			    int options, struct rusage50 *rusage); }
214115	STD		{ int|linux_sys||swapoff(const char *path); }
215116	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
216117	STD		{ int|linux_sys||ipc(int what, int a1, int a2, int a3, \
217			    void *ptr); }
218118	NOARGS		{ int|sys||fsync(int fd); }
219119	STD		{ int|linux_sys||sigreturn(struct linux_sigcontext *scp); }
220120	STD		{ int|linux_sys||clone(int flags, void *stack, \
221			    void *parent_tidptr, void *tls, void *child_tidptr); }
222121	STD		{ int|linux_sys||setdomainname(char *domainname, \
223			    int len); }
224122	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
225123	UNIMPL		modify_ldt
226124	UNIMPL		adjtimex
227125	STD		{ int|linux_sys||mprotect(const void *start, \
228			    unsigned long len, int prot); }
229126	STD		{ int|linux_sys||sigprocmask(int how, \
230			    const linux_old_sigset_t *set, \
231			    linux_old_sigset_t *oset); }
232127	UNIMPL		create_module
233128	UNIMPL		init_module
234129	UNIMPL		delete_module
235130	UNIMPL		get_kernel_syms
236131	UNIMPL		quotactl
237132	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
238133	NOARGS		{ int|sys||fchdir(int fd); }
239134	UNIMPL		bdflush
240135	UNIMPL		sysfs
241136	STD		{ int|linux_sys||personality(unsigned long per); }
242137	UNIMPL		afs_syscall
243138	STD		{ int|linux_sys||setfsuid(uid_t uid); }
244139	STD		{ int|linux_sys||setfsgid(gid_t gid); }
245140	STD		{ int|linux_sys||llseek(int fd, u_int32_t ohigh, \
246			    u_int32_t olow, void *res, int whence); }
247141	STD		{ int|linux_sys||getdents(int fd, \
248			    struct linux_dirent *dent, unsigned int count); }
249142	STD		{ int|linux_sys||select(int nfds, fd_set *readfds, \
250			    fd_set *writefds, fd_set *exceptfds, \
251			    struct timeval50 *timeout); }
252143	NOARGS		{ int|sys||flock(int fd, int how); }
253144	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
254145	NOARGS		{ int|sys||readv(int fd, struct iovec *iovp, \
255				u_int iovcnt); }
256146	NOARGS		{ int|sys||writev(int fd, struct iovec *iovp, \
257				u_int iovcnt); }
258147	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
259148	STD		{ int|linux_sys||fdatasync(int fd); }
260149	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
261150	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
262151	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
263152	NOARGS		{ int|sys||mlockall(int flags); }
264153	NOARGS		{ int|sys||munlockall(void); }
265154	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
266			    const struct linux_sched_param *sp); }
267155	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
268			    struct linux_sched_param *sp); }
269156	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
270			    int policy, const struct linux_sched_param *sp); }
271157	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
272158	STD		{ int|linux_sys||sched_yield(void); }
273159	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
274160	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
275161	UNIMPL		sched_rr_get_interval
276162	STD		{ int|linux_sys||nanosleep( \
277			    const struct linux_timespec *rqtp, \
278			    struct linux_timespec *rmtp); }
279163	STD		{ void *|linux_sys||mremap(void *old_address, \
280			    size_t old_size, size_t new_size, u_long flags); }
281164	STD		{ int|linux_sys||setresuid16(linux_uid16_t ruid, \
282			    linux_uid16_t euid, linux_uid16_t suid); }
283165	STD		{ int|linux_sys||getresuid16(linux_uid16_t *ruid, \
284			    linux_uid16_t *euid, linux_uid16_t *suid); }
285166	UNIMPL
286167	UNIMPL		query_module
287168	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
288			    int timeout); }
289169	UNIMPL		nfsservctl
290170	STD		{ int|linux_sys||setresgid16(linux_gid16_t rgid, \
291			    linux_gid16_t egid, linux_gid16_t sgid); }
292171	STD		{ int|linux_sys||getresgid16(linux_gid16_t *rgid, \
293			    linux_gid16_t *egid, linux_gid16_t *sgid); }
294172	UNIMPL		prctl
295173	UNIMPL		rt_sigreturn
296;173	STD		{ int|linux_sys||rt_sigreturn( \
297;			    struct linux_rt_sigframe *sfp); }
298174	STD		{ int|linux_sys||rt_sigaction(int signum, \
299			    const struct linux_sigaction *nsa, \
300			    struct linux_sigaction *osa, \
301			    size_t sigsetsize); }
302175	STD		{ int|linux_sys||rt_sigprocmask(int how, \
303			    const linux_sigset_t *set, \
304			    linux_sigset_t *oset, \
305			    size_t sigsetsize); }
306176	STD		{ int|linux_sys||rt_sigpending( \
307			    linux_sigset_t *set, \
308			    size_t sigsetsize); }
309177	STD		{ int|linux_sys||rt_sigtimedwait( \
310			    const linux_sigset_t *set, \
311			    linux_siginfo_t *info, \
312			    const struct linux_timespec *timeout); }
313178	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
314			    linux_siginfo_t *uinfo); }
315179	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
316			    size_t sigsetsize); }
317180	STD		{ int|linux_sys||pread(int fd, char *buf, \
318			    size_t nbyte, linux_off_t offset); }
319181	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
320			    size_t nbyte, linux_off_t offset); }
321182	STD		{ int|linux_sys||chown16(const char *path, \
322			    linux_uid16_t uid, linux_gid16_t gid); }
323183	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
324184	UNIMPL		capget
325185	UNIMPL		capset
326186	STD		{ int|linux_sys||sigaltstack( \
327			    const struct linux_sigaltstack *ss, \
328			    struct linux_sigaltstack *oss); }
329187	UNIMPL		sendfile
330188	UNIMPL		getpmsg
331189	UNIMPL		putpmsg
332190	NOARGS		vfork { int|sys|14|vfork(void); }
333191	STD		{ int|linux_sys||ugetrlimit(int which, \
334			    struct rlimit *rlp); }
335#define linux_sys_mmap2_args linux_sys_mmap_args
336192	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
337			    size_t len, int prot, int flags, int fd, \
338			    linux_off_t offset); }
339193	STD		{ int|linux_sys||truncate64(const char *path, \
340				off_t length); }
341194	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
342				off_t length); }
343195	STD		{ int|linux_sys||stat64(const char *path, \
344				struct linux_stat64 *sp); }
345196	STD		{ int|linux_sys||lstat64(const char *path, \
346				struct linux_stat64 *sp); }
347197	STD		{ int|linux_sys||fstat64(int fd, \
348				struct linux_stat64 *sp); }
349198	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
350				gid_t gid); }
351199	NOARGS		getuid32 { uid_t|sys||getuid(void); }
352200	NOARGS		getgid32 { gid_t|sys||getgid(void); }
353201	NOARGS		geteuid32 { uid_t|sys||geteuid(void); }
354202	NOARGS		getegid32 { gid_t|sys||getegid(void); }
355203	NOARGS		setreuid32 { int|sys||setreuid(uid_t ruid, \
356				uid_t euid); }
357204	NOARGS		setregid32 { int|sys||setregid(gid_t rgid, \
358				gid_t egid); }
359205	NOARGS		getgroups32 { int|sys||getgroups(u_int gidsetsize, \
360				gid_t *gidset); }
361206	NOARGS		setgroups32 { int|sys||setgroups(u_int gidsetsize, \
362				gid_t *gidset); }
363207	NOARGS		fchown32 { int|sys||__posix_fchown(int fd, uid_t uid, \
364				gid_t gid); }
365208	STD		setresuid32 { int|linux_sys||setresuid(uid_t ruid, \
366				uid_t euid, uid_t suid); }
367209	STD		getresuid32 { int|linux_sys||getresuid(uid_t *ruid, \
368				uid_t *euid, uid_t *suid); }
369210	STD		setresgid32 { int|linux_sys||setresgid(gid_t rgid, \
370				gid_t egid, gid_t sgid); }
371211	STD		getresgid32 { int|linux_sys||getresgid(gid_t *rgid, \
372				gid_t *egid, gid_t *sgid); }
373212	NOARGS		chown32 { int|sys||__posix_chown(const char *path, \
374				uid_t uid, gid_t gid); }
375213	NOARGS		setuid32 { int|sys||setuid(uid_t uid); }
376214	NOARGS		setgid32 { int|sys||setgid(gid_t gid); }
377215	NOARGS		setfsuid32 { int|linux_sys||setfsuid(uid_t uid); }
378216	NOARGS		setfsgid32 { int|linux_sys||setfsgid(gid_t gid); }
379217	STD		{ int|linux_sys||getdents64(int fd, \
380			    struct linux_dirent64 *dent, unsigned int count); }
381218	UNIMPL		pivot_root
382219	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
383220	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
384221	STD		{ int|linux_sys||fcntl64(int fd, int cmd, void *arg); }
385222	UNIMPL		/* for tux */
386223	UNIMPL		/* unused */
387224	NOARGS		{ pid_t|linux_sys||gettid(void); }
388225	UNIMPL		readahead
389226	STD		{ int|linux_sys||setxattr(char *path, char *name, \
390			    void *value, size_t size, int flags); }
391227	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
392			    void *value, size_t size, int flags); }
393228	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
394			    void *value, size_t size, int flags); }
395229	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
396			    void *value, size_t size); }
397230	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
398			    void *value, size_t size); }
399231	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
400			    void *value, size_t size); }
401232	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
402			    size_t size); }
403233	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
404			    size_t size); }
405234	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
406			    size_t size); }
407235	STD		{ int|linux_sys||removexattr(char *path, char *name); }
408236	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
409237	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
410238	STD		{ int|linux_sys||tkill(int tid, int sig); }
411239	UNIMPL		sendfile64
412240	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
413			    const struct linux_timespec *timeout, int *uaddr2, \
414			    int val3); }
415241	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
416			    unsigned int len, unsigned long *mask); }
417242	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
418			    unsigned int len, unsigned long *mask); }
419243	UNIMPL		io_setup
420244	UNIMPL		io_destroy
421245	UNIMPL		io_getevents
422246	UNIMPL		io_submit
423247	UNIMPL		io_cancel
424248	STD		{ int|linux_sys||exit_group(int error_code); }
425249	UNIMPL		lookup_dcookie
426250	UNIMPL		epoll_create
427251	UNIMPL		epoll_ctl
428252	UNIMPL		epoll_wait
429253	UNIMPL		remap_file_pages
430254	UNIMPL		set_thread_area
431255	UNIMPL		get_thread_area
432256	STD		{ int|linux_sys||set_tid_address(int *tid); }
433257	UNIMPL		timer_create
434258	UNIMPL		timer_settime
435259	UNIMPL		timer_gettime
436260	UNIMPL		timer_getoverrun
437261	UNIMPL		timer_delete
438262	STD		{ int|linux_sys||clock_settime(clockid_t which, \
439			    struct linux_timespec *tp); }
440263	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
441			    struct linux_timespec *tp); }
442264	STD		{ int|linux_sys||clock_getres(clockid_t which, \
443			    struct linux_timespec *tp); }
444265	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
445			    int flags, struct linux_timespec *rqtp, \
446			    struct linux_timespec *rmtp); }
447266	STD		{ int|linux_sys||statfs64(const char *path, \
448			    size_t sz, struct linux_statfs64 *sp); }
449267	STD		{ int|linux_sys||fstatfs64(int fd, \
450			    size_t sz, struct linux_statfs64 *sp); }
451268	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
452269	STD		{ int|linux_sys||utimes(const char *path, struct linux_timeval *times); }
453270	STD		{ int|linux_sys||fadvise64_64(int fd, \
454			    linux_off_t offset, linux_off_t len, int advice); }
455271	UNIMPL		pciconfig_iobase
456272	UNIMPL		pciconfig_read
457273	UNIMPL		pciconfig_write
458274	UNIMPL		mq_open
459275	UNIMPL		mq_unlink
460276	UNIMPL		mq_timedsend
461277	UNIMPL		mq_timedreceive
462278	UNIMPL		mq_notify
463279	UNIMPL		mq_getsetattr
464280	UNIMPL		waitid
465281	UNIMPL		socket
466282	UNIMPL		bind
467283	UNIMPL		connect
468284	UNIMPL		listen
469285	UNIMPL		accept
470286	UNIMPL		getsockname
471287	UNIMPL		getpeername
472288	UNIMPL		socketpair
473289	UNIMPL		send
474290	UNIMPL		sendto
475291	UNIMPL		recv
476292	UNIMPL		recvfrom
477293	UNIMPL		shutdown
478294	UNIMPL		setsockopt
479295	UNIMPL		getsockopt
480296	UNIMPL		sendmsg
481297	UNIMPL		recvmsg
482298	UNIMPL		semop
483299	UNIMPL		semget
484300	UNIMPL		semctl
485301	UNIMPL		msgsnd
486302	UNIMPL		msgrcv
487303	UNIMPL		msgget
488304	UNIMPL		msgctl
489305	UNIMPL		shmat
490306	UNIMPL		shmdt
491307	UNIMPL		shmget
492308	UNIMPL		shmctl
493309	UNIMPL		add_key
494310	UNIMPL		request_key
495311	UNIMPL		keyctl
496312	UNIMPL		semtimedop
497313	UNIMPL		vserver
498314	UNIMPL		ioptio_set
499315	UNIMPL		ioptio_get
500316	UNIMPL		inotify_init
501317	UNIMPL		inotify_add_watch
502318	UNIMPL		inotify_rm_watch
503319	UNIMPL		mbind
504320	UNIMPL		get_mempolicy
505321	UNIMPL		set_mempolicy
506322	STD 		{ int|linux_sys||openat(int fd, const char *path, \
507			    int flags, ... linux_umode_t mode); }
508323	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
509			    linux_umode_t mode); }
510324	STD		{ int|linux_sys||mknodat(int fd, const char *path, \
511			    linux_umode_t mode, unsigned dev); }
512325	STD		{ int|linux_sys||fchownat(int fd, const char *path, \
513			    uid_t owner, gid_t group, int flag); }
514326	UNIMPL		futimesat
515327	STD		{ int|linux_sys||fstatat64(int fd, const char *path, \
516			    struct linux_stat64 *sp, int flag); }
517328	STD		{ int|linux_sys||unlinkat(int fd, const char *path, \
518			    int flag); }
519329	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
520			    int tofd, const char *to); }
521330	STD		{ int|linux_sys||linkat(int fd1, const char *name1, \
522			    int fd2, const char *name2, int flags); }
523331	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
524			    const char *path2); }
525332	NOARGS		{ int|sys||readlinkat(int fd, const char *path, \
526			    char *buf, size_t bufsize); }
527333	STD		{ int|linux_sys||fchmodat(int fd, const char *path, \
528			    linux_umode_t mode); }
529334	STD		{ int|linux_sys||faccessat(int fd, const char *path, \
530			    int amode); }
531335	UNIMPL		pselect6
532336	STD		{ int|linux_sys||ppoll(struct pollfd *fds, int nfds, \
533			    struct linux_timespec *timeout, \
534			    linux_sigset_t *sigset); }
535337	UNIMPL		unshare
536338	STD		{ int|linux_sys||set_robust_list( \
537			    struct linux_robust_list_head *head, size_t len); }
538339	STD		{ int|linux_sys||get_robust_list(int pid, \
539			    struct linux_robust_list_head **head, \
540			    size_t *len); }
541340	UNIMPL		splice
542341	UNIMPL		sync_file_range2
543342	UNIMPL		tee
544343	UNIMPL		vmsplice
545344	UNIMPL		move_pages
546345	UNIMPL		getcpu
547346	UNIMPL		epoll_wait
548347	UNIMPL		kexec_load
549348	STD		{ int|linux_sys||utimensat(int fd, const char *path, \
550			    struct linux_timespec *times, int flag); }
551349	UNIMPL		signalfd
552350	UNIMPL		timerfd_create
553351	UNIMPL		eventfd
554352	UNIMPL		fallocate
555353	UNIMPL		timerfd_settime
556354	UNIMPL		timerfd_gettime
557355	UNIMPL		signalfd4
558356	UNIMPL		eventfd2
559357	UNIMPL		epoll_create1
560358	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
561359	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
562360	UNIMPL		inotify_init1
563361	UNIMPL		preadv
564362	UNIMPL		pwritev
565363	UNIMPL		rt_tgsigqueueinfo
566364	UNIMPL		perf_counter_open
567365	UNIMPL		recvmmsg
568366	UNIMPL
569367	UNIMPL
570368	UNIMPL
571369	UNIMPL
572370	UNIMPL
573371	UNIMPL
574372	UNIMPL
575373	UNIMPL
576374	UNIMPL
577375	UNIMPL
578376	UNIMPL
579377	UNIMPL
580378	UNIMPL
581379	UNIMPL
582380	UNIMPL
583381	UNIMPL
584382	UNIMPL
585383	UNIMPL
586
587; ARMLinux actually has two ranges of syscalls.  Normal syscalls use
588; SWI numbers starting at 0x900000 (__NR_SYSCALL_BASE).  Special
589; ARM-specific syscalls use SWI numbers starting at 0x9f0000
590; (__ARM_NR_BASE).  linux_syscall() (in arch/arm/arm/linux_syscall.c)
591; remaps these down to 0x900180 so that we can use one linux_sysent
592; array for the whole lot.
593
594384	UNIMPL		/* base */
595385	STD		{ int|linux_sys||breakpoint(void); }
596386	STD		{ int|linux_sys||cacheflush(uintptr_t from, \
597				intptr_t to, int flags); }
598387	UNIMPL		usr26
599388	UNIMPL		usr32
600389	STD		{ int|linux_sys||set_tls(void *tls); }
601