xref: /netbsd-src/sys/compat/linux/arch/powerpc/syscalls.master (revision 82d56013d7b633d116a93943de88e08335357a7c)
1	$NetBSD: syscalls.master,v 1.74 2020/04/26 18:53:32 thorpej Exp $
2
3;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
4
5; Derived from NetBSD's sys/compat/linux/arch/i386/syscalls.master
6; sys/compat/linux/arch/m68k/syscalls.master
7; and from Linux's arch/ppc/kernel/misc.S
8;
9; We have problems for a few syscalls, specially:
10; 142 ppc_select -> sys_new_select -> sys_select (Conflicts with 82 ???).
11;
12; Expect problems with the following, which have an architecture dependent
13; implementation in Linux/powerpc:
14; 29  pause
15; 42  pipe      tested. no problem.
16; 59  olduname
17; 101 ioperm
18; 109 uname
19; 117 ipc
20;
21; Most of syscalls after 182 that were introduced in Linux-2.4 are UNIMPL.
22;
23; The following are UNIMPL here. The Linux kernel implements them but just logs
24; a kernel error and returns -ENOSYS.
25; 110 iopl
26; 113 vm86
27; 123 modify_ldt
28; 198 sys_pciconfig_read
29; 199 sys_pciconfig_write
30; 200 sys_pciconfig_iobase
31;
32; Emmanuel Dreyfus <p99dreyf@criens.u-psud.fr>
33
34; NetBSD powerpc COMPAT_LINUX system call name/number "master" file.
35; (See syscalls.conf to see what it is processed into.)
36;
37; Fields: number type [type-dependent ...]
38;	number	system call number, must be in order
39;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
40;		the compatibility options defined in syscalls.conf.
41;
42; types:
43;	STD	always included
44;	OBSOL	obsolete, not included in system
45;	UNIMPL	unimplemented, not included in system
46;	NODEF	included, but don't define the syscall number
47;	NOARGS	included, but don't define the syscall args structure
48;	INDIR	included, but don't define the syscall args structure
49;		and allow it to be "really" varargs.
50;
51; The compat options are defined in the syscalls.conf file, and the
52; compat option name is prefixed to the syscall name.  Other than
53; that, they're like NODEF (for 'compat' options), or STD (for
54; 'libcompat' options).
55;
56; The type-dependent arguments are as follows:
57; For STD, NODEF, NOARGS, and compat syscalls:
58;	{ pseudo-proto } [alias]
59; For other syscalls:
60;	[comment]
61;
62; #ifdef's, etc. may be included, and are copied to the output files.
63; #include's are copied to the syscall names and switch definition files only.
64
65#include <sys/param.h>
66#include <sys/poll.h>
67#include <sys/systm.h>
68#include <sys/signal.h>
69#include <sys/mount.h>
70#include <sys/syscallargs.h>
71
72#include <compat/linux/common/linux_types.h>
73#include <compat/linux/common/linux_signal.h>
74#include <compat/linux/common/linux_siginfo.h>
75#include <compat/linux/common/linux_machdep.h>
76#include <compat/linux/common/linux_mmap.h>
77
78#include <compat/linux/linux_syscallargs.h>
79
80%%
81
820	NOARGS		{ int|linux_sys||nosys(void); } syscall
831	STD		{ int|linux_sys||exit(int rval); }
842	NOARGS		{ int|sys||fork(void); }
853	NOARGS		{ ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
864	NOARGS		{ ssize_t|sys||write(int fd, const void *buf, \
87			    size_t nbyte); }
885	STD		{ int|linux_sys||open(const char *path, int flags, \
89			    linux_umode_t mode); }
906	NOARGS		{ int|sys||close(int fd); }
917	STD		{ int|linux_sys||waitpid(int pid, int *status, \
92			    int options);}
938	STD		{ int|linux_sys||creat(const char *path, linux_umode_t mode); }
949	NOARGS		{ int|sys||link(const char *path, const char *link); }
9510	STD		{ int|linux_sys||unlink(const char *path); }
9611	NOARGS		{ int|sys||execve(const char *path, char **argp, \
97			    char **envp); }
9812	NOARGS		{ int|sys||chdir(const char *path); }
9913	STD		{ int|linux_sys||time(linux_time_t *t); }
10014	STD		{ int|linux_sys||mknod(const char *path, linux_umode_t mode, \
101			    unsigned dev); }
10215	NOARGS		{ int|sys||chmod(const char *path, int mode); }
10316	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
104			    gid_t gid); }
10517	OBSOL		break
10618	OBSOL		ostat
10719	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
108			    int whence); }
10920	NOARGS 		{ pid_t|sys||getpid(void); }
11021	UNIMPL		mount
11122	OBSOL		umount
11223	NOARGS		{ int|sys||setuid(uid_t uid); }
11324	NOARGS		{ uid_t|sys||getuid(void); }
11425	STD		{ int|linux_sys||stime(linux_time_t *t); }
11526	STD		{ int|linux_sys||ptrace(int request, int pid, \
116			    long addr, long data); }
11727	STD		{ int|linux_sys||alarm(unsigned int secs); }
11828	OBSOL		ofstat
11929	STD		{ int|linux_sys||pause(void); }
12030	STD		{ int|linux_sys||utime(const char *path, \
121			    struct linux_utimbuf *times); }
12231	OBSOL		stty
12332	OBSOL		gtty
12433	NOARGS		{ int|sys||access(const char *path, int flags); }
12534	STD		{ int|linux_sys||nice(int incr); }
12635	OBSOL		ftime
12736	NOARGS		{ int|sys||sync(void); }
12837	STD		{ int|linux_sys||kill(int pid, int signum); }
12938	NOARGS		{ int|sys||__posix_rename(const char *from, \
130			    const char *to); }
13139	NOARGS		{ int|sys||mkdir(const char *path, linux_umode_t mode); }
13240	NOARGS		{ int|sys||rmdir(const char *path); }
13341	NOARGS		{ int|sys||dup(int fd); }
13442	STD		{ int|linux_sys||pipe(int *pfds); }
13543	STD		{ int|linux_sys||times(struct times *tms); }
13644	OBSOL		prof
13745	STD		{ int|linux_sys||brk(char *nsize); }
13846	NOARGS		{ int|sys||setgid(gid_t gid); }
13947	NOARGS		{ gid_t|sys||getgid(void); }
14048	STD		{ int|linux_sys||signal(int signum, \
141			    linux_handler_t handler); }
14249	NOARGS		{ uid_t|sys||geteuid(void); }
14350	NOARGS		{ gid_t|sys||getegid(void); }
14451	NOARGS		{ int|sys||acct(char *path); }
14552	UNIMPL		umount
14653	OBSOL		lock
14754	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
148			    void *data); }
14955	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
15056	OBSOL		mpx
15157	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
15258	OBSOL		ulimit
15359 	STD		{ int|linux_sys||olduname(struct linux_old_utsname \
154			   *up); }
15560	NOARGS		{ int|sys||umask(int newmask); }
15661	NOARGS		{ int|sys||chroot(char *path); }
15762	UNIMPL		ustat
15863	NOARGS		{ int|sys||dup2(int from, int to); }
15964	NOARGS		{ pid_t|sys||getppid(void); }
16065	NOARGS		{ int|sys||getpgrp(void); }
16166	NOARGS		{ int|sys||setsid(void); }
16267	STD		{ int|linux_sys||sigaction(int signum, \
163			    const struct linux_old_sigaction *nsa, \
164			    struct linux_old_sigaction *osa); }
16568	STD		{ int|linux_sys||siggetmask(void); }
16669	STD		{ int|linux_sys||sigsetmask(linux_old_sigset_t mask); }
16770	NOARGS		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
16871	NOARGS		{ int|sys||setregid(gid_t rgid, gid_t egid); }
16972	STD		{ int|linux_sys||sigsuspend(void *restart, \
170			    int oldmask, int mask); }
17173	STD		{ int|linux_sys||sigpending(linux_old_sigset_t *set); }
17274	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
173			    u_int len);}
17475	STD		{ int|linux_sys||setrlimit(u_int which, \
175			    struct orlimit *rlp); }
17676	STD		{ int|linux_sys||getrlimit(u_int which, \
177			    struct orlimit *rlp); }
17877	NOARGS		{ int|compat_50_sys||getrusage(int who, \
179			    struct rusage50 *rusage); }
18078	STD		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
181			    struct timezone *tzp); }
18279	STD		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
183			    struct timezone *tzp); }
18480	NOARGS		{ int|sys||getgroups(int gidsetsize, gid_t *gidset); }
18581	NOARGS		{ int|sys||setgroups(int gidsetsize, gid_t *gidset); }
18682	STD		{ int|linux_sys||select(int nfds, fd_set* readfds, \
187					fd_set* writefds, fd_set* exceptfds, \
188					struct timeval50 *timeout); }
18983	NOARGS		{ int|sys||symlink(const char *path, const char *to); }
19084	NOARGS		{ int|compat_43_sys||lstat(const char *path, \
191			    struct stat43 *up); } oolstat
19285	NOARGS		{ ssize_t|sys||readlink(const char *path, char *buf, \
193			    int count); }
194#ifdef EXEC_AOUT
19586	STD		{ int|linux_sys||uselib(const char *path); }
196#else
19786	UNIMPL		sys_uselib
198#endif
19987	STD		{ int|linux_sys||swapon(char *name); }
20088	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
201			    int cmd, void *arg); }
20289	STD		{ int|linux_sys||readdir(int fd, void *dent, \
203			    unsigned int count); }
20490	NOARGS		{ int|linux_sys||mmap(unsigned long addr, size_t len, \
205			    int prot, int flags, int fd, linux_off_t offset); }
20691	NOARGS		{ int|sys||munmap(void *addr, size_t len); }
20792	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
208			    long length); }
20993	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); }
21094	NOARGS		{ int|sys||fchmod(int fd, linux_umode_t mode); }
21195	NOARGS		{ int|sys||__posix_fchown(int fd, uid_t uid, \
212			    gid_t gid); }
21396	STD		{ int|linux_sys||getpriority(int which, int who); }
21497	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
21598	NOARGS		{ int|sys||profil(void *samples, u_int size, \
216			    u_int offset, u_int scale); }
21799	STD		{ int|linux_sys||statfs(const char *path, \
218			    struct linux_statfs *sp); }
219100	STD		{ int|linux_sys||fstatfs(int fd, \
220			    struct linux_statfs *sp); }
221101	UNIMPL		ioperm
222102	STD		{ int|linux_sys||socketcall(int what, void *args); }
223103	UNIMPL		syslog
224104	NOARGS		{ int|compat_50_sys||setitimer(int which, \
225			    struct itimerval50 *itv, \
226			    struct itimerval50 *oitv); }
227105	NOARGS		{ int|compat_50_sys||getitimer(int which, \
228			    struct itimerval50 *itv); }
229106	STD		{ int|linux_sys||stat(const char *path, \
230			    struct linux_stat *sp); }
231107	STD		{ int|linux_sys||lstat(const char *path, \
232			    struct linux_stat *sp); }
233108	STD		{ int|linux_sys||fstat(int fd, struct linux_stat *sp); }
234109	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
235110	UNIMPL		iopl
236111	UNIMPL		vhangup
237112	UNIMPL		idle
238113	UNIMPL		vm86old
239114	STD		{ int|linux_sys||wait4(int pid, int *status, \
240			    int options, struct rusage50 *rusage); }
241115	STD		{ int|linux_sys||swapoff(const char *path); }
242116	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
243117	STD		{ int|linux_sys||ipc(int what, int a1, int a2, int a3, \
244			    void *ptr); }
245118	NOARGS		{ int|sys||fsync(int fd); }
246119	STD		{ int|linux_sys||sigreturn(struct linux_sigcontext *scp); }
247120	STD		{ int|linux_sys||clone(int flags, void *stack, \
248			    void *parent_tidptr, void *tls, void *child_tidptr); }
249121	STD		{ int|linux_sys||setdomainname(char *domainname, \
250			    int len); }
251122	STD		{ int|linux_sys||new_uname(struct linux_utsname *up); }
252123	UNIMPL		modify_ldt
253124	UNIMPL		adjtimex
254125	STD		{ int|linux_sys||mprotect(const void *start, \
255			    unsigned long len, int prot); }
256126	STD		{ int|linux_sys||sigprocmask(int how, \
257			    const linux_old_sigset_t *set, \
258			    linux_old_sigset_t *oset); }
259127	UNIMPL		create_module
260128	UNIMPL		init_module
261129	UNIMPL		delete_module
262130	UNIMPL		get_kernel_syms
263131	UNIMPL		quotactl
264132	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
265133	NOARGS		{ int|sys||fchdir(int fd); }
266134	UNIMPL		bdflush
267135	UNIMPL		sysfs
268136	STD		{ int|linux_sys||personality(unsigned long per); }
269137	UNIMPL		afs_syscall
270138	STD		{ int|linux_sys||setfsuid(uid_t uid); }
271139	STD		{ int|linux_sys||setfsgid(gid_t gid); }
272140	STD		{ int|linux_sys||llseek(int fd, u_int32_t ohigh, \
273			    u_int32_t olow, void *res, int whence); }
274141	STD		{ int|linux_sys||getdents(int fd, \
275			    struct linux_dirent *dent, unsigned int count); }
276142	STD		{ int|linux_sys||new_select(int nfds, fd_set *readfds, \
277			    fd_set *writefds, fd_set *exceptfds, \
278			    struct timeval50 *timeout); }
279143	NOARGS		{ int|sys||flock(int fd, int how); }
280144	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
281145	NOARGS		{ ssize_t|sys||readv(int fd, \
282			    const struct iovec *iovp, int iovcnt); }
283146	NOARGS		{ ssize_t|sys||writev(int fd, \
284			    const struct iovec *iovp, int iovcnt); }
285147	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
286148	STD		{ int|linux_sys||fdatasync(int fd); }
287149	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
288150	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
289151	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
290152	NOARGS		{ int|sys||mlockall(int flags); }
291153	NOARGS		{ int|sys||munlockall(void); }
292154	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
293			    const struct linux_sched_param *sp); }
294155	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
295			    struct linux_sched_param *sp); }
296156	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
297			    int policy, const struct linux_sched_param *sp); }
298157	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
299158	STD		{ int|linux_sys||sched_yield(void); }
300159	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
301160	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
302161	UNIMPL		sched_rr_get_interval
303162	STD		{ int|linux_sys||nanosleep( \
304			    const struct linux_timespec *rqtp, \
305			    struct linux_timespec *rmtp); }
306163	STD		{ void *|linux_sys||mremap(void *old_address, \
307			    size_t old_size, size_t new_size, u_long flags); }
308164	STD		{ int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
309			    uid_t suid); }
310165	STD		{ int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
311			    uid_t *suid); }
312166	UNIMPL		query_module
313167	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
314			    int timeout); }
315168	UNIMPL		nfsservctl
316169	STD		{ int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
317			    gid_t sgid); }
318170	STD		{ int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
319			    gid_t *sgid); }
320171	UNIMPL		prctl
321172	STD		{ int|linux_sys||rt_sigreturn( \
322			    struct linux_rt_sigframe *sfp); }
323173	STD		{ int|linux_sys||rt_sigaction(int signum, \
324			    const struct linux_sigaction *nsa, \
325			    struct linux_sigaction *osa, \
326			    size_t sigsetsize); }
327174	STD		{ int|linux_sys||rt_sigprocmask(int how, \
328			    const linux_sigset_t *set, \
329			    linux_sigset_t *oset, \
330			    size_t sigsetsize); }
331175	STD		{ int|linux_sys||rt_sigpending( \
332			    linux_sigset_t *set, \
333			    size_t sigsetsize); }
334176	STD		{ int|linux_sys||rt_sigtimedwait( \
335			    const linux_sigset_t *set, \
336			    linux_siginfo_t *info, \
337			    const struct linux_timespec *timeout); }
338177	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
339			    linux_siginfo_t *uinfo); }
340178	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
341			    size_t sigsetsize); }
342179	STD		{ int|linux_sys||pread(int fd, char *buf, \
343			    size_t nbyte, off_t offset); }
344180	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
345			    size_t nbyte, off_t offset); }
346181	NOARGS		{ int|sys||__posix_chown(const char *path, uid_t uid, \
347			    gid_t gid); }
348182	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
349183	UNIMPL		capget
350184	UNIMPL		capset
351185	STD		{ int|linux_sys||sigaltstack( \
352			    const struct linux_sigaltstack *ss, \
353			    struct linux_sigaltstack *oss); }
354186	UNIMPL		sendfile
355187	UNIMPL		getpmsg
356188	UNIMPL		putpmsg
357189	NOARGS		{ int|sys|14|vfork(void); }
358190	STD		{ int|linux_sys||ugetrlimit(int which, \
359			    struct rlimit *rlp); }
360191	UNIMPL		/* unused */
361#define linux_sys_mmap2_args linux_sys_mmap_args
362192	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
363			    size_t len, int prot, int flags, int fd, \
364			    linux_off_t offset); }
365193	STD		{ int|linux_sys||truncate64(const char *path, \
366			    off_t length); }
367194	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
368			    off_t length); }
369195	STD		{ int|linux_sys||stat64(const char *path, \
370			    struct linux_stat64 *sp); }
371196	STD		{ int|linux_sys||lstat64(const char *path, \
372			    struct linux_stat64 *sp); }
373197	STD		{ int|linux_sys||fstat64(int fd, \
374			    struct linux_stat64 *sp); }
375198	UNIMPL		sys_pciconfig_read
376199	UNIMPL		sys_pciconfig_write
377200	UNIMPL		sys_pciconfig_iobase
378201	UNIMPL		/* Unused (MacOnLinux project) */
379202	STD		{ int|linux_sys||getdents64(int fd, \
380			    struct linux_dirent64 *dent, unsigned int count); }
381203	UNIMPL		pivot_root
382204	STD		{ int|linux_sys||fcntl64(int fd, int cmd, void *arg); }
383205	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
384206	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
385207	NOARGS		{ pid_t|linux_sys||gettid(void); }
386208	STD		{ int|linux_sys||tkill(int tid, int sig); }
387209	STD		{ int|linux_sys||setxattr(char *path, char *name, \
388			    void *value, size_t size, int flags); }
389210	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
390			    void *value, size_t size, int flags); }
391211	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
392			    void *value, size_t size, int flags); }
393212	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
394			    void *value, size_t size); }
395213	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
396			    void *value, size_t size); }
397214	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
398			    void *value, size_t size); }
399215	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
400			    size_t size); }
401216	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
402			    size_t size); }
403217	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
404			    size_t size); }
405218	STD		{ int|linux_sys||removexattr(char *path, char *name); }
406219	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
407220	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
408221	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
409			    const struct linux_timespec *timeout, int *uaddr2, \
410			    int val3); }
411222	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
412			    unsigned int len, unsigned long *mask); }
413223	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
414			    unsigned int len, unsigned long *mask); }
415224	UNIMPL		/* unused */
416225	UNIMPL		tuxcall
417226	UNIMPL		sendfile64
418227	UNIMPL		io_setup
419228	UNIMPL		io_destroy
420229	UNIMPL		io_getevents
421230	UNIMPL		io_submit
422231	UNIMPL		io_cancel
423232	STD		{ int|linux_sys||set_tid_address(int *tid); }
424233	STD		{ int|linux_sys||fadvise64(int fd, off_t offset, \
425			    size_t len, int advice); }
426234	STD		{ int|linux_sys||exit_group(int error_code); }
427235	UNIMPL		lookup_dcookie
428236	UNIMPL		epoll_create
429237	UNIMPL		epoll_ctl
430238	UNIMPL		epoll_wait
431239	UNIMPL		remap_file_pages
432240	UNIMPL		timer_create
433241	UNIMPL		timer_settime
434242	UNIMPL		timer_gettime
435243	UNIMPL		timer_getoverrun
436244	UNIMPL		timer_delete
437245	STD		{ int|linux_sys||clock_settime(clockid_t which, \
438			    struct linux_timespec *tp); }
439246	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
440			    struct linux_timespec *tp); }
441247	STD		{ int|linux_sys||clock_getres(clockid_t which, \
442			    struct linux_timespec *tp); }
443248	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
444			    int flags, struct linux_timespec *rqtp, \
445			    struct linux_timespec *rmtp); }
446249	UNIMPL		swapcontext
447250	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
448251	NOARGS		{ int|compat_50_sys||utimes(const char *path, \
449			    const struct timeval50 *tptr); }
450252	STD		{ int|linux_sys||statfs64(const char *path, \
451			    size_t sz, struct linux_statfs64 *sp); }
452253	STD		{ int|linux_sys||fstatfs64(int fd, \
453			    size_t sz, struct linux_statfs64 *sp); }
454254	STD		{ int|linux_sys||fadvise64_64(int fd, off_t offset, \
455			    off_t len, int advice); }
456255	UNIMPL		rtas
457256	UNIMPL		/* reserved for sys_debug_setcontext */
458257	UNIMPL		/* reserved for vserver */
459258	UNIMPL		/* reserved for new sys_remap_file_pages */
460259	UNIMPL		/* reserved for new sys_mbind */
461260	UNIMPL		/* reserved for new sys_get_mempolicy */
462261	UNIMPL		/* reserved for new sys_set_mempolicy */
463262	UNIMPL		mq_open
464263	UNIMPL		mq_unlink
465264	UNIMPL		mq_timedsend
466265	UNIMPL		mq_timedreceive
467266	UNIMPL		mq_notify
468267	UNIMPL		mq_getsetattr
469268	UNIMPL		kexec_load
470269	UNIMPL		add_key
471270	UNIMPL		request_key
472271	UNIMPL		keyctl
473272	UNIMPL		waitid
474273	UNIMPL		ioprio_set
475274	UNIMPL		ioprio_get
476275	UNIMPL		inotify_init
477276	UNIMPL		inotify_add_watch
478277	UNIMPL		inotify_rm_watch
479278	UNIMPL		spu_run
480279	UNIMPL		spu_create
481280	STD		{ int|linux_sys||pselect6(int nfds, fd_set *readfds, \
482			   fd_set *writefds, fd_set *exceptfds, \
483			   struct linux_timespec *timeout, \
484			   linux_sized_sigset_t *ss); }
485281	STD		{ int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
486			    struct linux_timespec *timeout, \
487			    linux_sigset_t *sigset); }
488282	UNIMPL		unshare
489283	UNIMPL		splice
490284	UNIMPL		tee
491285	UNIMPL		vmsplice
492286	STD		{ int|linux_sys||openat(int fd, const char *path, \
493			    int flags, ... linux_umode_t mode); }
494287	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
495			    linux_umode_t mode); }
496288	STD		{ int|linux_sys||mknodat(int fd, const char *path, \
497			    linux_umode_t mode, unsigned dev); }
498289	STD		{ int|linux_sys||fchownat(int fd, const char *path, \
499			    uid_t owner, gid_t group, int flag); }
500290	UNIMPL		futimesat
501291	STD		{ int|linux_sys||fstatat64(int fd, const char *path, \
502			    struct linux_stat64 *sp, int flag); }
503292	STD		{ int|linux_sys||unlinkat(int fd, const char *path, \
504			    int flag); }
505293	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
506			    int tofd, const char *to); }
507294	STD		{ int|linux_sys||linkat(int fd1, const char *name1, \
508			    int fd2, const char *name2, int flags); }
509295	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
510			    const char *path2); }
511296	NOARGS		{ ssize_t|sys||readlinkat(int fd, const char *path, \
512			    char *buf, size_t bufsize); }
513297	STD		{ int|linux_sys||fchmodat(int fd, const char *path, \
514			    linux_umode_t mode); }
515298	STD		{ int|linux_sys||faccessat(int fd, const char *path, \
516			    int amode); }
517			;
518			; The NetBSD native robust list calls have different
519			; argument names / types, but they are ABI-compatible
520			; with Linux.
521			;
522299	NOARGS		{ int|sys||__futex_set_robust_list(void *head, \
523			    size_t len); }
524300	NOARGS		{ int|sys||__futex_get_robust_list(lwpid_t lwpid, \
525			    void **headp, size_t *lenp); }
526301	UNIMPL		move_pages
527302	UNIMPL		getcpu
528303	UNIMPL		epoll_wait
529304	STD		{ int|linux_sys||utimensat(int fd, const char *path, \
530			    struct linux_timespec *times, int flag); }
531305	UNIMPL		signalfd
532306	UNIMPL		timerfd_create
533307	UNIMPL		eventfd
534308	UNIMPL		sync_file_range2
535309	STD		{ int|linux_sys||fallocate(int fd, int mode, \
536			    off_t offset, off_t len); }
537310	UNIMPL		subpage_prot
538311	UNIMPL		timerfd_settime
539312	UNIMPL		timerfd_gettime
540313	UNIMPL		signalfd4
541314	UNIMPL		eventfd2
542315	UNIMPL		epoll_create1
543316	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
544317	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
545318	UNIMPL		inotify_init1
546319	UNIMPL		perf_event_open
547320	UNIMPL		preadv
548321	UNIMPL		pwritev
549322	UNIMPL		rt_tgsigqueueinfo
550323	UNIMPL		fanotify_init
551324	UNIMPL		fanotify_mark
552325	UNIMPL		prlimit64
553326	UNIMPL		socket
554327	UNIMPL		bind
555328	UNIMPL		connect
556329	UNIMPL		listen
557330	UNIMPL		accept
558331	UNIMPL		getsockname
559332	UNIMPL		getpeername
560333	UNIMPL		socketpair
561334	UNIMPL		send
562335	UNIMPL		sendto
563336	UNIMPL		recv
564337	UNIMPL		recvfrom
565338	UNIMPL		shutdown
566339	UNIMPL		setsockopt
567340	UNIMPL		getsockopt
568341	UNIMPL		sendmsg
569342	UNIMPL		recvmsg
570343	STD		{ int|linux_sys||recvmmsg(int s, \
571			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
572			    unsigned int flags, struct timespec *timeout); }
573344	STD		{ int|linux_sys||accept4(int s, \
574			    struct osockaddr *name, \
575			    int *anamelen, int flags); }
576345	UNIMPL		name_to_handle_at
577346	UNIMPL		open_by_handle_at
578347	UNIMPL		clock_adjtime
579348	UNIMPL		syncfs
580349	STD		{ int|linux_sys||sendmmsg(int s, \
581			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
582			    unsigned int flags); }
583350	UNIMPL		setns
584351	UNIMPL		process_vm_readv
585352	UNIMPL		process_vm_writev
586353	UNIMPL		finit_module
587354	UNIMPL		kcmp
588355	UNIMPL		sched_setattr
589356	UNIMPL		sched_getattr
590357	UNIMPL		renameat2
591358	UNIMPL		seccomp
592359	UNIMPL		getrandom
593360	UNIMPL		memfd_create
594361	UNIMPL		bpf
595362	UNIMPL		execveat
596363	UNIMPL		switch_endian
597364	UNIMPL		userfaultfd
598365	UNIMPL		membarrier
599366	UNIMPL
600367	UNIMPL
601368	UNIMPL
602369	UNIMPL
603370	UNIMPL
604371	UNIMPL
605372	UNIMPL
606373	UNIMPL
607374	UNIMPL
608375	UNIMPL
609376	UNIMPL
610377	UNIMPL
611378	UNIMPL		mlock2
612379	UNIMPL		copy_file_range
613380	UNIMPL		preadv2
614381	UNIMPL		pwritev2
615382	UNIMPL		kexec_file_load
616