xref: /netbsd-src/sys/compat/linux/arch/arm/syscalls.master (revision 1b9578b8c2c1f848eeb16dabbfd7d1f0d9fdefbd)
1	$NetBSD: syscalls.master,v 1.46 2011/05/30 17:50:31 alnsn 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			    int 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, int 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, int 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, int mode); }
10540	NOARGS		{ int|sys||rmdir(const char *path); }
10641	NOARGS		{ int|sys||dup(u_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(u_int from, u_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, int 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(u_int which, \
198			    struct itimerval50 *itv, \
199			    struct itimerval50 *oitv); }
200105	NOARGS		{ int|compat_50_sys||getitimer(u_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	UNIMPL		rt_sigtimedwait
310178	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
311			    linux_siginfo_t *uinfo); }
312179	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
313			    size_t sigsetsize); }
314180	STD		{ int|linux_sys||pread(int fd, char *buf, \
315			    size_t nbyte, linux_off_t offset); }
316181	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
317			    size_t nbyte, linux_off_t offset); }
318182	STD		{ int|linux_sys||chown16(const char *path, \
319			    linux_uid16_t uid, linux_gid16_t gid); }
320183	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
321184	UNIMPL		capget
322185	UNIMPL		capset
323186	STD		{ int|linux_sys||sigaltstack( \
324			    const struct linux_sigaltstack *ss, \
325			    struct linux_sigaltstack *oss); }
326187	UNIMPL		sendfile
327188	UNIMPL		getpmsg
328189	UNIMPL		putpmsg
329190	NOARGS		vfork { int|sys|14|vfork(void); }
330191	STD		{ int|linux_sys||ugetrlimit(int which, \
331			    struct rlimit *rlp); }
332#define linux_sys_mmap2_args linux_sys_mmap_args
333192	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
334			    size_t len, int prot, int flags, int fd, \
335			    linux_off_t offset); }
336193	STD		{ int|linux_sys||truncate64(const char *path, \
337				off_t length); }
338194	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
339				off_t length); }
340195	STD		{ int|linux_sys||stat64(const char *path, \
341				struct linux_stat64 *sp); }
342196	STD		{ int|linux_sys||lstat64(const char *path, \
343				struct linux_stat64 *sp); }
344197	STD		{ int|linux_sys||fstat64(int fd, \
345				struct linux_stat64 *sp); }
346198	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
347				gid_t gid); }
348199	NOARGS		getuid32 { uid_t|sys||getuid(void); }
349200	NOARGS		getgid32 { gid_t|sys||getgid(void); }
350201	NOARGS		geteuid32 { uid_t|sys||geteuid(void); }
351202	NOARGS		getegid32 { gid_t|sys||getegid(void); }
352203	NOARGS		setreuid32 { int|sys||setreuid(uid_t ruid, \
353				uid_t euid); }
354204	NOARGS		setregid32 { int|sys||setregid(gid_t rgid, \
355				gid_t egid); }
356205	NOARGS		getgroups32 { int|sys||getgroups(u_int gidsetsize, \
357				gid_t *gidset); }
358206	NOARGS		setgroups32 { int|sys||setgroups(u_int gidsetsize, \
359				gid_t *gidset); }
360207	NOARGS		fchown32 { int|sys||__posix_fchown(int fd, uid_t uid, \
361				gid_t gid); }
362208	STD		setresuid32 { int|linux_sys||setresuid(uid_t ruid, \
363				uid_t euid, uid_t suid); }
364209	STD		getresuid32 { int|linux_sys||getresuid(uid_t *ruid, \
365				uid_t *euid, uid_t *suid); }
366210	STD		setresgid32 { int|linux_sys||setresgid(gid_t rgid, \
367				gid_t egid, gid_t sgid); }
368211	STD		getresgid32 { int|linux_sys||getresgid(gid_t *rgid, \
369				gid_t *egid, gid_t *sgid); }
370212	NOARGS		chown32 { int|sys||__posix_chown(const char *path, \
371				uid_t uid, gid_t gid); }
372213	NOARGS		setuid32 { int|sys||setuid(uid_t uid); }
373214	NOARGS		setgid32 { int|sys||setgid(gid_t gid); }
374215	NOARGS		setfsuid32 { int|linux_sys||setfsuid(uid_t uid); }
375216	NOARGS		setfsgid32 { int|linux_sys||setfsgid(gid_t gid); }
376217	STD		{ int|linux_sys||getdents64(int fd, \
377			    struct linux_dirent64 *dent, unsigned int count); }
378218	UNIMPL		pivot_root
379219	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
380220	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
381221	STD		{ int|linux_sys||fcntl64(int fd, int cmd, void *arg); }
382222	UNIMPL		/* for tux */
383223	UNIMPL		/* unused */
384224	NOARGS		{ pid_t|linux_sys||gettid(void); }
385225	UNIMPL		readahead
386226	STD		{ int|linux_sys||setxattr(char *path, char *name, \
387			    void *value, size_t size, int flags); }
388227	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
389			    void *value, size_t size, int flags); }
390228	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
391			    void *value, size_t size, int flags); }
392229	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
393			    void *value, size_t size); }
394230	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
395			    void *value, size_t size); }
396231	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
397			    void *value, size_t size); }
398232	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
399			    size_t size); }
400233	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
401			    size_t size); }
402234	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
403			    size_t size); }
404235	STD		{ int|linux_sys||removexattr(char *path, char *name); }
405236	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
406237	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
407238	STD		{ int|linux_sys||tkill(int tid, int sig); }
408239	UNIMPL		sendfile64
409240	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
410			    const struct linux_timespec *timeout, int *uaddr2, \
411			    int val3); }
412241	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
413			    unsigned int len, unsigned long *mask); }
414242	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
415			    unsigned int len, unsigned long *mask); }
416243	UNIMPL		io_setup
417244	UNIMPL		io_destroy
418245	UNIMPL		io_getevents
419246	UNIMPL		io_submit
420247	UNIMPL		io_cancel
421248	STD		{ int|linux_sys||exit_group(int error_code); }
422249	UNIMPL		lookup_dcookie
423250	UNIMPL		epoll_create
424251	UNIMPL		epoll_ctl
425252	UNIMPL		epoll_wait
426253	UNIMPL		remap_file_pages
427254	UNIMPL		set_thread_area
428255	UNIMPL		get_thread_area
429256	STD		{ int|linux_sys||set_tid_address(int *tid); }
430257	UNIMPL		timer_create
431258	UNIMPL		timer_settime
432259	UNIMPL		timer_gettime
433260	UNIMPL		timer_getoverrun
434261	UNIMPL		timer_delete
435262	STD		{ int|linux_sys||clock_settime(clockid_t which, \
436			    struct linux_timespec *tp); }
437263	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
438			    struct linux_timespec *tp); }
439264	STD		{ int|linux_sys||clock_getres(clockid_t which, \
440			    struct linux_timespec *tp); }
441265	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
442			    int flags, struct linux_timespec *rqtp, \
443			    struct linux_timespec *rmtp); }
444266	STD		{ int|linux_sys||statfs64(const char *path, \
445			    size_t sz, struct linux_statfs64 *sp); }
446267	STD		{ int|linux_sys||fstatfs64(int fd, \
447			    size_t sz, struct linux_statfs64 *sp); }
448268	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
449269	UNIMPL		utimes
450270	STD		{ int|linux_sys||fadvise64_64(int fd, \
451			    linux_off_t offset, linux_off_t len, int advice); }
452271	UNIMPL		pciconfig_iobase
453272	UNIMPL		pciconfig_read
454273	UNIMPL		pciconfig_write
455274	UNIMPL		mq_open
456275	UNIMPL		mq_unlink
457276	UNIMPL		mq_timedsend
458277	UNIMPL		mq_timedreceive
459278	UNIMPL		mq_notify
460279	UNIMPL		mq_getsetattr
461280	UNIMPL		waitid
462281	UNIMPL		socket
463282	UNIMPL		bind
464283	UNIMPL		connect
465284	UNIMPL		listen
466285	UNIMPL		accept
467286	UNIMPL		getsockname
468287	UNIMPL		getpeername
469288	UNIMPL		socketpair
470289	UNIMPL		send
471290	UNIMPL		sendto
472291	UNIMPL		recv
473292	UNIMPL		recvfrom
474293	UNIMPL		shutdown
475294	UNIMPL		setsockopt
476295	UNIMPL		getsockopt
477296	UNIMPL		sendmsg
478297	UNIMPL		recvmsg
479298	UNIMPL		semop
480299	UNIMPL		semget
481300	UNIMPL		semctl
482301	UNIMPL		msgsnd
483302	UNIMPL		msgrcv
484303	UNIMPL		msgget
485304	UNIMPL		msgctl
486305	UNIMPL		shmat
487306	UNIMPL		shmdt
488307	UNIMPL		shmget
489308	UNIMPL		shmctl
490309	UNIMPL		add_key
491310	UNIMPL		request_key
492311	UNIMPL		keyctl
493312	UNIMPL		semtimedop
494313	UNIMPL		vserver
495314	UNIMPL		ioptio_set
496315	UNIMPL		ioptio_get
497316	UNIMPL		inotify_init
498317	UNIMPL		inotify_add_watch
499318	UNIMPL		inotify_rm_watch
500319	UNIMPL		mbind
501320	UNIMPL		get_mempolicy
502321	UNIMPL		set_mempolicy
503322	UNIMPL		openat
504323	UNIMPL		mkdirat
505324	UNIMPL		mknodat
506325	UNIMPL		fchownat
507326	UNIMPL		futimesat
508327	UNIMPL		fstatat64
509328	UNIMPL		unlinkat
510329	UNIMPL		renameat
511330	UNIMPL		linkat
512331	UNIMPL		symlinkat
513332	UNIMPL		readlinkat
514333	UNIMPL		fchmodat
515334	UNIMPL		faccessat
516335	UNIMPL		pselect6
517336	UNIMPL		ppoll
518337	UNIMPL		unshare
519338	STD		{ int|linux_sys||set_robust_list( \
520			    struct linux_robust_list_head *head, size_t len); }
521339	STD		{ int|linux_sys||get_robust_list(int pid, \
522			    struct linux_robust_list_head **head, \
523			    size_t *len); }
524340	UNIMPL		splice
525341	UNIMPL		sync_file_range2
526342	UNIMPL		tee
527343	UNIMPL		vmsplice
528344	UNIMPL		move_pages
529345	UNIMPL		getcpu
530346	UNIMPL		epoll_wait
531347	UNIMPL		kexec_load
532348	UNIMPL		utimensat
533349	UNIMPL		signalfd
534350	UNIMPL		timerfd_create
535351	UNIMPL		eventfd
536352	UNIMPL		fallocate
537353	UNIMPL		timerfd_settime
538354	UNIMPL		timerfd_gettime
539355	UNIMPL		signalfd4
540356	UNIMPL		eventfd2
541357	UNIMPL		epoll_create1
542358	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
543359	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
544360	UNIMPL		inotify_init1
545361	UNIMPL		preadv
546362	UNIMPL		pwritev
547363	UNIMPL		rt_tgsigqueueinfo
548364	UNIMPL		perf_counter_open
549365	UNIMPL		recvmmsg
550366	UNIMPL
551367	UNIMPL
552368	UNIMPL
553369	UNIMPL
554370	UNIMPL
555371	UNIMPL
556372	UNIMPL
557373	UNIMPL
558374	UNIMPL
559375	UNIMPL
560376	UNIMPL
561377	UNIMPL
562378	UNIMPL
563379	UNIMPL
564380	UNIMPL
565381	UNIMPL
566382	UNIMPL
567383	UNIMPL
568
569; ARMLinux actually has two ranges of syscalls.  Normal syscalls use
570; SWI numbers starting at 0x900000 (__NR_SYSCALL_BASE).  Special
571; ARM-specific syscalls use SWI numbers starting at 0x9f0000
572; (__ARM_NR_BASE).  linux_syscall() (in arch/arm/arm/linux_syscall.c)
573; remaps these down to 0x900180 so that we can use one linux_sysent
574; array for the whole lot.
575
576384	UNIMPL		/* base */
577385	STD		{ int|linux_sys||breakpoint(void); }
578386	STD		{ int|linux_sys||cacheflush(uintptr_t from, \
579				intptr_t to, int flags); }
580387	UNIMPL		usr26
581388	UNIMPL		usr32
582389	STD		{ int|linux_sys||set_tls(void *tls); }
583