xref: /netbsd-src/sys/compat/linux/arch/powerpc/syscalls.master (revision 2dd295436a0082eb4f8d294f4aa73c223413d0f2)
1	$NetBSD: syscalls.master,v 1.82 2023/07/29 15:04:29 christos 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	STD		{ ssize_t|linux_sys||readahead(int fd, off_t offset, \
361			    size_t count); }
362#define linux_sys_mmap2_args linux_sys_mmap_args
363192	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
364			    size_t len, int prot, int flags, int fd, \
365			    linux_off_t offset); }
366193	STD		{ int|linux_sys||truncate64(const char *path, \
367			    off_t length); }
368194	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
369			    off_t length); }
370195	STD		{ int|linux_sys||stat64(const char *path, \
371			    struct linux_stat64 *sp); }
372196	STD		{ int|linux_sys||lstat64(const char *path, \
373			    struct linux_stat64 *sp); }
374197	STD		{ int|linux_sys||fstat64(int fd, \
375			    struct linux_stat64 *sp); }
376198	UNIMPL		sys_pciconfig_read
377199	UNIMPL		sys_pciconfig_write
378200	UNIMPL		sys_pciconfig_iobase
379201	UNIMPL		/* Unused (MacOnLinux project) */
380202	STD		{ int|linux_sys||getdents64(int fd, \
381			    struct linux_dirent64 *dent, unsigned int count); }
382203	UNIMPL		pivot_root
383204	STD		{ int|linux_sys||fcntl64(int fd, int cmd, void *arg); }
384205	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
385206	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
386207	NOARGS		{ pid_t|linux_sys||gettid(void); }
387208	STD		{ int|linux_sys||tkill(int tid, int sig); }
388209	STD		{ int|linux_sys||setxattr(char *path, char *name, \
389			    void *value, size_t size, int flags); }
390210	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
391			    void *value, size_t size, int flags); }
392211	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
393			    void *value, size_t size, int flags); }
394212	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
395			    void *value, size_t size); }
396213	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
397			    void *value, size_t size); }
398214	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
399			    void *value, size_t size); }
400215	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
401			    size_t size); }
402216	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
403			    size_t size); }
404217	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
405			    size_t size); }
406218	STD		{ int|linux_sys||removexattr(char *path, char *name); }
407219	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
408220	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
409221	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
410			    const struct linux_timespec *timeout, int *uaddr2, \
411			    int val3); }
412222	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
413			    unsigned int len, unsigned long *mask); }
414223	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
415			    unsigned int len, unsigned long *mask); }
416224	UNIMPL		/* unused */
417225	UNIMPL		tuxcall
418226	UNIMPL		sendfile64
419227	UNIMPL		io_setup
420228	UNIMPL		io_destroy
421229	UNIMPL		io_getevents
422230	UNIMPL		io_submit
423231	UNIMPL		io_cancel
424232	STD		{ int|linux_sys||set_tid_address(int *tid); }
425233	STD		{ int|linux_sys||fadvise64(int fd, off_t offset, \
426			    size_t len, int advice); }
427234	STD		{ int|linux_sys||exit_group(int error_code); }
428235	UNIMPL		lookup_dcookie
429236	STD		{ int|linux_sys||epoll_create(int size); }
430237	STD		{ int|linux_sys||epoll_ctl(int epfd, int op, int fd, \
431			    struct linux_epoll_event *event); }
432238	STD		{ int|linux_sys||epoll_wait(int epfd, \
433			    struct linux_epoll_event *events, int maxevents, \
434			    int timeout); }
435239	UNIMPL		remap_file_pages
436240	STD		{ int|linux_sys||timer_create(clockid_t clockid, \
437			    struct linux_sigevent *evp, timer_t *timerid); }
438241	STD		{ int|linux_sys||timer_settime(timer_t timerid, \
439			    int flags, const struct linux_itimerspec *tim, \
440			    struct linux_itimerspec *otim); }
441242	STD		{ int|linux_sys||timer_gettime(timer_t timerid, \
442			    struct linux_itimerspec *tim); }
443243	NOARGS		{ int|sys||timer_getoverrun(timer_t timerid); }
444244	NOARGS		{ int|sys||timer_delete(timer_t timerid); }
445245	STD		{ int|linux_sys||clock_settime(clockid_t which, \
446			    struct linux_timespec *tp); }
447246	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
448			    struct linux_timespec *tp); }
449247	STD		{ int|linux_sys||clock_getres(clockid_t which, \
450			    struct linux_timespec *tp); }
451248	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
452			    int flags, struct linux_timespec *rqtp, \
453			    struct linux_timespec *rmtp); }
454249	UNIMPL		swapcontext
455250	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
456251	NOARGS		{ int|compat_50_sys||utimes(const char *path, \
457			    const struct timeval50 *tptr); }
458252	STD		{ int|linux_sys||statfs64(const char *path, \
459			    size_t sz, struct linux_statfs64 *sp); }
460253	STD		{ int|linux_sys||fstatfs64(int fd, \
461			    size_t sz, struct linux_statfs64 *sp); }
462254	STD		{ int|linux_sys||fadvise64_64(int fd, off_t offset, \
463			    off_t len, int advice); }
464255	UNIMPL		rtas
465256	UNIMPL		/* reserved for sys_debug_setcontext */
466257	UNIMPL		/* reserved for vserver */
467258	UNIMPL		/* reserved for new sys_remap_file_pages */
468259	UNIMPL		/* reserved for new sys_mbind */
469260	UNIMPL		/* reserved for new sys_get_mempolicy */
470261	UNIMPL		/* reserved for new sys_set_mempolicy */
471262	UNIMPL		mq_open
472263	UNIMPL		mq_unlink
473264	UNIMPL		mq_timedsend
474265	UNIMPL		mq_timedreceive
475266	UNIMPL		mq_notify
476267	UNIMPL		mq_getsetattr
477268	UNIMPL		kexec_load
478269	UNIMPL		add_key
479270	UNIMPL		request_key
480271	UNIMPL		keyctl
481272	UNIMPL		waitid
482273	UNIMPL		ioprio_set
483274	UNIMPL		ioprio_get
484275	UNIMPL		inotify_init
485276	UNIMPL		inotify_add_watch
486277	UNIMPL		inotify_rm_watch
487278	UNIMPL		spu_run
488279	UNIMPL		spu_create
489280	STD		{ int|linux_sys||pselect6(int nfds, fd_set *readfds, \
490			   fd_set *writefds, fd_set *exceptfds, \
491			   struct linux_timespec *timeout, \
492			   linux_sized_sigset_t *ss); }
493281	STD		{ int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
494			    struct linux_timespec *timeout, \
495			    linux_sigset_t *sigset); }
496282	UNIMPL		unshare
497283	UNIMPL		splice
498284	UNIMPL		tee
499285	UNIMPL		vmsplice
500286	STD		{ int|linux_sys||openat(int fd, const char *path, \
501			    int flags, ... linux_umode_t mode); }
502287	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
503			    linux_umode_t mode); }
504288	STD		{ int|linux_sys||mknodat(int fd, const char *path, \
505			    linux_umode_t mode, unsigned dev); }
506289	STD		{ int|linux_sys||fchownat(int fd, const char *path, \
507			    uid_t owner, gid_t group, int flag); }
508290	UNIMPL		futimesat
509291	STD		{ int|linux_sys||fstatat64(int fd, const char *path, \
510			    struct linux_stat64 *sp, int flag); }
511292	STD		{ int|linux_sys||unlinkat(int fd, const char *path, \
512			    int flag); }
513293	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
514			    int tofd, const char *to); }
515294	STD		{ int|linux_sys||linkat(int fd1, const char *name1, \
516			    int fd2, const char *name2, int flags); }
517295	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
518			    const char *path2); }
519296	NOARGS		{ ssize_t|sys||readlinkat(int fd, const char *path, \
520			    char *buf, size_t bufsize); }
521297	STD		{ int|linux_sys||fchmodat(int fd, const char *path, \
522			    linux_umode_t mode); }
523298	STD		{ int|linux_sys||faccessat(int fd, const char *path, \
524			    int amode); }
525			;
526			; The NetBSD native robust list calls have different
527			; argument names / types, but they are ABI-compatible
528			; with Linux.
529			;
530299	NOARGS		{ int|sys||__futex_set_robust_list(void *head, \
531			    size_t len); }
532300	NOARGS		{ int|sys||__futex_get_robust_list(lwpid_t lwpid, \
533			    void **headp, size_t *lenp); }
534301	UNIMPL		move_pages
535302	UNIMPL		getcpu
536303	STD		{ int|linux_sys||epoll_pwait(int epfd, \
537			    struct linux_epoll_event *events, int maxevents, \
538			    int timeout, const linux_sigset_t *sigmask); }
539304	STD		{ int|linux_sys||utimensat(int fd, const char *path, \
540			    struct linux_timespec *times, int flag); }
541305	UNIMPL		signalfd
542306	STD		{ int|linux_sys||timerfd_create(clockid_t clock_id, \
543			    int flags); }
544307	STD		{ int|linux_sys||eventfd(unsigned int initval); }
545308	UNIMPL		sync_file_range2
546309	STD		{ int|linux_sys||fallocate(int fd, int mode, \
547			    off_t offset, off_t len); }
548310	UNIMPL		subpage_prot
549311	STD		{ int|linux_sys||timerfd_settime(int fd, int flags, \
550			    const struct linux_itimerspec *tim, \
551			    struct linux_itimerspec *otim); }
552312	STD		{ int|linux_sys||timerfd_gettime(int fd, \
553			    struct linux_itimerspec *tim); }
554313	UNIMPL		signalfd4
555314	STD		{ int|linux_sys||eventfd2(unsigned int initval, \
556			    int flags); }
557315	STD		{ int|linux_sys||epoll_create1(int flags); }
558316	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
559317	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
560318	UNIMPL		inotify_init1
561319	UNIMPL		perf_event_open
562320	STD		{ int|linux_sys||preadv(int fd, \
563			    const struct iovec *iovp, int iovcnt, \
564			    unsigned long off_lo, unsigned long off_hi); }
565321	STD		{ int|linux_sys||pwritev(int fd, \
566			    const struct iovcnt *iovp, int iovcnt, \
567			    unsigned long off_lo, unsigned long off_hi); }
568322	UNIMPL		rt_tgsigqueueinfo
569323	UNIMPL		fanotify_init
570324	UNIMPL		fanotify_mark
571325	STD		{ int|linux_sys||prlimit64(pid_t pid, int which, \
572			    struct rlimit *new_rlp, struct rlimit *old_rlp); }
573326	UNIMPL		socket
574327	UNIMPL		bind
575328	UNIMPL		connect
576329	UNIMPL		listen
577330	UNIMPL		accept
578331	UNIMPL		getsockname
579332	UNIMPL		getpeername
580333	UNIMPL		socketpair
581334	UNIMPL		send
582335	UNIMPL		sendto
583336	UNIMPL		recv
584337	UNIMPL		recvfrom
585338	UNIMPL		shutdown
586339	UNIMPL		setsockopt
587340	UNIMPL		getsockopt
588341	UNIMPL		sendmsg
589342	UNIMPL		recvmsg
590343	STD		{ int|linux_sys||recvmmsg(int s, \
591			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
592			    unsigned int flags, struct timespec *timeout); }
593344	STD		{ int|linux_sys||accept4(int s, \
594			    struct osockaddr *name, \
595			    int *anamelen, int flags); }
596345	UNIMPL		name_to_handle_at
597346	UNIMPL		open_by_handle_at
598347	UNIMPL		clock_adjtime
599348	UNIMPL		syncfs
600349	STD		{ int|linux_sys||sendmmsg(int s, \
601			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
602			    unsigned int flags); }
603350	UNIMPL		setns
604351	UNIMPL		process_vm_readv
605352	UNIMPL		process_vm_writev
606353	UNIMPL		finit_module
607354	UNIMPL		kcmp
608355	UNIMPL		sched_setattr
609356	UNIMPL		sched_getattr
610357	UNIMPL		renameat2
611358	UNIMPL		seccomp
612359	NOARGS		{ ssize_t|sys||getrandom(void *buf, size_t buflen, \
613			    unsigned int flags); }
614360	UNIMPL		memfd_create
615361	UNIMPL		bpf
616362	UNIMPL		execveat
617363	UNIMPL		switch_endian
618364	UNIMPL		userfaultfd
619365	UNIMPL		membarrier
620366	UNIMPL
621367	UNIMPL
622368	UNIMPL
623369	UNIMPL
624370	UNIMPL
625371	UNIMPL
626372	UNIMPL
627373	UNIMPL
628374	UNIMPL
629375	UNIMPL
630376	UNIMPL
631377	UNIMPL
632378	UNIMPL		mlock2
633379	UNIMPL		copy_file_range
634380	UNIMPL		preadv2
635381	UNIMPL		pwritev2
636382	UNIMPL		kexec_file_load
637383     STD		{ int|linux_sys||statx(int fd, const char *path, \
638			    int flag, unsigned int mask, \
639			    struct linux_statx *sp); }
640384	UNIMPL
641385	UNIMPL
642386	UNIMPL
643387	UNIMPL
644388	UNIMPL
645389	UNIMPL
646390	UNIMPL
647391	UNIMPL
648392	UNIMPL
649393	UNIMPL
650394	UNIMPL
651395	UNIMPL
652396	UNIMPL
653397	UNIMPL
654398	UNIMPL
655399	UNIMPL
656400	UNIMPL
657401	UNIMPL
658402	UNIMPL
659403	UNIMPL
660404	UNIMPL
661405	UNIMPL
662406	UNIMPL
663407	UNIMPL
664408	UNIMPL
665409	UNIMPL
666410	UNIMPL
667411	UNIMPL
668412	UNIMPL
669413	UNIMPL
670414	UNIMPL
671415	UNIMPL
672416	UNIMPL
673417	UNIMPL
674418	UNIMPL
675419	UNIMPL
676420	UNIMPL
677421	UNIMPL
678422	UNIMPL
679423	UNIMPL
680424	UNIMPL
681425	UNIMPL
682426	UNIMPL
683427	UNIMPL
684428	UNIMPL
685429	UNIMPL
686430	UNIMPL
687431	UNIMPL
688432	UNIMPL
689433	UNIMPL
690434	UNIMPL
691435	UNIMPL
692436	STD		{ int|linux_sys||close_range(unsigned int first, \
693			    unsigned int last, unsigned int flags); }
694437	UNIMPL
695438	UNIMPL
696439	UNIMPL
697440	UNIMPL
698441	STD		{ int|linux_sys||epoll_pwait2(int epfd, \
699			    struct linux_epoll_event *events, int maxevents, \
700			    const struct linux_timespec *timeout, \
701			    const linux_sigset_t *sigmask); }
702