svn commit: r333027 - head/sys/arm64/linux

Ed Maste emaste at FreeBSD.org
Thu Apr 26 18:39:00 UTC 2018


Author: emaste
Date: Thu Apr 26 18:38:59 2018
New Revision: 333027
URL: https://svnweb.freebsd.org/changeset/base/333027

Log:
  Add arm64 Linux syscall table
  
  This is the first step (after the recent refactoring of some common
  code) to supporting the Linuxulator on arm64.
  
  Reviewed by:	andrew
  Sponsored by:	Turing Robotic Industries Inc.
  Differential Revision:	https://reviews.freebsd.org/D15187

Added:
  head/sys/arm64/linux/
  head/sys/arm64/linux/Makefile   (contents, props changed)
  head/sys/arm64/linux/syscalls.conf   (contents, props changed)
  head/sys/arm64/linux/syscalls.master   (contents, props changed)

Added: head/sys/arm64/linux/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm64/linux/Makefile	Thu Apr 26 18:38:59 2018	(r333027)
@@ -0,0 +1,15 @@
+# Makefile for syscall tables
+#
+# $FreeBSD$
+
+# Don't use an OBJDIR
+.OBJDIR: ${.CURDIR}
+
+all:
+	@echo "make sysent only"
+
+sysent:  linux_sysent.c linux_syscall.h linux_proto.h linux_syscalls.c linux_systrace_args.c
+
+linux_sysent.c linux_syscall.h linux_proto.h linux_syscalls.c linux_systrace_args.c: \
+		../../kern/makesyscalls.sh syscalls.master syscalls.conf
+	sh ../../kern/makesyscalls.sh syscalls.master syscalls.conf

Added: head/sys/arm64/linux/syscalls.conf
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm64/linux/syscalls.conf	Thu Apr 26 18:38:59 2018	(r333027)
@@ -0,0 +1,11 @@
+# $FreeBSD$
+sysnames="linux_syscalls.c"
+sysproto="linux_proto.h"
+sysproto_h=_LINUX_SYSPROTO_H_
+syshdr="linux_syscall.h"
+syssw="linux_sysent.c"
+sysmk="/dev/null"
+syscallprefix="LINUX_SYS_"
+switchname="linux_sysent"
+namesname="linux_syscallnames"
+systrace="linux_systrace_args.c"

Added: head/sys/arm64/linux/syscalls.master
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm64/linux/syscalls.master	Thu Apr 26 18:38:59 2018	(r333027)
@@ -0,0 +1,518 @@
+ $FreeBSD$
+
+; Linux ABI system call generic name/number map, based on Linux file
+; include/uapi/asm-generic/unistd.h
+
+#include <sys/param.h>
+#include <sys/sysent.h>
+#include <sys/sysproto.h>
+#include <compat/linux/linux_sysproto.h>
+#include <arm64/linux/linux.h>
+#include <arm64/linux/linux_proto.h>
+
+; Isn't pretty, but there seems to be no other way to trap nosys
+#define	nosys	linux_nosys
+
+0	AUE_NULL	UNIMPL	linux_io_setup
+1	AUE_NULL	UNIMPL	linux_io_destroy
+2	AUE_NULL	UNIMPL	linux_io_submit
+3	AUE_NULL	UNIMPL	linux_io_cancel
+4	AUE_NULL	UNIMPL	linux_io_getevents
+5	AUE_NULL	STD	{ int linux_setxattr(void); }
+6	AUE_NULL	STD	{ int linux_lsetxattr(void); }
+7	AUE_NULL	STD	{ int linux_fsetxattr(void); }
+8	AUE_NULL	STD	{ int linux_getxattr(void); }
+9	AUE_NULL	STD	{ int linux_lgetxattr(void); }
+10	AUE_NULL	STD	{ int linux_fgetxattr(void); }
+11	AUE_NULL	STD	{ int linux_listxattr(void); }
+12	AUE_NULL	STD	{ int linux_llistxattr(void); }
+13	AUE_NULL	STD	{ int linux_flistxattr(void); }
+14	AUE_NULL	STD	{ int linux_removexattr(void); }
+15	AUE_NULL	STD	{ int linux_lremovexattr(void); }
+16	AUE_NULL	STD	{ int linux_fremovexattr(void); }
+17	AUE_GETCWD	STD	{ int linux_getcwd(char *buf, \
+				    l_ulong bufsize); }
+18	AUE_NULL	STD	{ int linux_lookup_dcookie(void); }
+19	AUE_NULL	STD	{ int linux_eventfd2(l_uint initval, \
+				    l_int flags); }
+20	AUE_NULL	STD	{ int linux_epoll_create1(l_int flags); }
+21	AUE_NULL	STD	{ int linux_epoll_ctl(l_int epfd, l_int op, \
+				    l_int fd, struct epoll_event *event); }
+22	AUE_NULL	STD     { int linux_epoll_pwait(l_int epfd, \
+				    struct epoll_event *events, \
+				    l_int maxevents, l_int timeout, \
+				    l_sigset_t *mask, l_size_t sigsetsize); }
+23	AUE_NULL	UNIMPL	linux_dup
+24	AUE_NULL	STD	{ int linux_dup3(l_int oldfd, l_int newfd, \
+				    l_int flags); }
+25	AUE_FCNTL	STD	{ int linux_fcntl(l_uint fd, l_uint cmd, \
+				    l_ulong arg); }
+26	AUE_NULL	STD	{ int linux_inotify_init1(l_int flags); }
+27	AUE_NULL	STD	{ int linux_inotify_add_watch(void); }
+28	AUE_NULL	STD	{ int linux_inotify_rm_watch(void); }
+29	AUE_IOCTL	STD	{ int linux_ioctl(l_uint fd, l_uint cmd, \
+				    uintptr_t arg); }
+30	AUE_NULL	STD	{ int linux_ioprio_set(void); }
+31	AUE_NULL	STD	{ int linux_ioprio_get(void); }
+32	AUE_FLOCK	NOPROTO	{ int flock(int fd, int how); }
+33	AUE_MKNODAT	STD	{ int linux_mknodat(l_int dfd, \
+				    const char *filename, l_int mode, \
+				    l_uint dev); }
+34	AUE_MKDIRAT	STD	{ int linux_mkdirat(l_int dfd, \
+				    const char *pathname, l_int mode); }
+35	AUE_UNLINKAT	STD	{ int linux_unlinkat(l_int dfd, \
+				    const char *pathname, l_int flag); }
+36	AUE_SYMLINKAT	STD	{ int linux_symlinkat(const char *oldname, \
+				    l_int newdfd, const char *newname); }
+37	AUE_LINKAT	STD	{ int linux_linkat(l_int olddfd, \
+				    const char *oldname, l_int newdfd, \
+				    const char *newname, l_int flag); }
+38	AUE_RENAMEAT	STD	{ int linux_renameat(l_int olddfd, \
+				    const char *oldname, l_int newdfd, \
+				    const char *newname); }
+39	AUE_NULL	UNIMPL	linux_umount2
+40	AUE_MOUNT	STD	{ int linux_mount(char *specialfile, \
+				    char *dir, char *filesystemtype, \
+				    l_ulong rwflag, void *data); }
+41	AUE_PIVOT_ROOT	STD	{ int linux_pivot_root(void); }
+42	AUE_NULL	UNIMPL	nfsservctl
+43	AUE_STATFS	STD	{ int linux_statfs(char *path, \
+				    struct l_statfs_buf *buf); }
+44	AUE_FSTATFS	STD	{ int linux_fstatfs(l_uint fd, \
+				    struct l_statfs_buf *buf); }
+45	AUE_TRUNCATE	STD	{ int linux_truncate(char *path, \
+				    l_ulong length); }
+46	AUE_FTRUNCATE	STD	{ int linux_ftruncate(l_int fd, \
+				    l_long length); }
+47	AUE_NULL	STD	{ int linux_fallocate(l_int fd, l_int mode, \
+				    l_loff_t offset, l_loff_t len); }
+48	AUE_FACCESSAT	STD	{ int linux_faccessat(l_int dfd, \
+				    const char *filename, l_int amode); }
+49	AUE_CHDIR	STD	{ int linux_chdir(char *path); }
+50	AUE_FCHDIR	NOPROTO	{ int fchdir(int fd); }
+51	AUE_CHROOT	NOPROTO	{ int chroot(char *path); }
+52	AUE_FCHMOD	NOPROTO	{ int fchmod(int fd, int mode); }
+53	AUE_FCHMODAT	STD	{ int linux_fchmodat(l_int dfd, \
+				    const char *filename, l_mode_t mode); }
+54	AUE_FCHOWNAT	STD	{ int linux_fchownat(l_int dfd, \
+				    const char *filename, l_uid_t uid, \
+				    l_gid_t gid, l_int flag); }
+55	AUE_FCHOWN	NOPROTO	{ int fchown(int fd, int uid, int gid); }
+56	AUE_OPEN_RWTC	STD	{ int linux_openat(l_int dfd, \
+				    const char *filename, l_int flags, \
+				    l_int mode); }
+57	AUE_CLOSE	NOPROTO	{ int close(int fd); }
+58	AUE_NULL	STD	{ int linux_vhangup(void); }
+59	AUE_NULL	STD	{ int linux_pipe2(l_int *pipefds, \
+				    l_int flags); }
+60	AUE_NULL	UNIMPL	linux_quotactl
+61	AUE_GETDIRENTRIES	STD { int linux_getdents64(l_uint fd, \
+				    void *dirent, l_uint count); }
+62	AUE_LSEEK	STD	{ int linux_lseek(l_uint fdes, l_off_t off, \
+				    l_int whence); }
+63	AUE_NULL	NOPROTO	{ int read(int fd, char *buf, \
+				    u_int nbyte); }
+64	AUE_NULL	NOPROTO { int write(int fd, char *buf, \
+				    u_int nbyte); }
+65	AUE_READV	NOPROTO	{ int readv(int fd, struct iovec *iovp, \
+				    u_int iovcnt); }
+66	AUE_WRITEV	NOPROTO	{ int writev(int fd, struct iovec *iovp, \
+				    u_int iovcnt); }
+67	AUE_PREAD	STD	{ int linux_pread(l_uint fd, char *buf, \
+				    l_size_t nbyte, l_loff_t offset); }
+68	AUE_PWRITE	STD	{ int linux_pwrite(l_uint fd, char *buf, \
+				    l_size_t nbyte, l_loff_t offset); }
+69	AUE_NULL	STD	{ int linux_preadv(l_ulong fd, \
+				    struct iovec *vec, l_ulong vlen, \
+				    l_ulong pos_l, l_ulong pos_h); }
+70	AUE_NULL	STD	{ int linux_pwritev(l_ulong fd, \
+				    struct iovec *vec, l_ulong vlen, \
+				    l_ulong pos_l, l_ulong pos_h); }
+71	AUE_SENDFILE	STD	{ int linux_sendfile(l_int out, l_int in, \
+				    l_long *offset, l_size_t count); }
+72	AUE_SELECT	STD	{ int linux_pselect6(l_int nfds, \
+				    l_fd_set *readfds, l_fd_set *writefds, \
+				    l_fd_set *exceptfds, \
+				    struct l_timespec *tsp, l_uintptr_t *sig); }
+73	AUE_POLL	STD	{ int linux_ppoll(struct pollfd *fds, \
+				    uint32_t nfds, struct l_timespec *tsp, \
+				    l_sigset_t *sset, l_size_t ssize); }
+74	AUE_NULL	STD	{ int linux_signalfd4(void); }
+75	AUE_NULL	STD	{ int linux_vmsplice(void); }
+76	AUE_NULL	STD	{ int linux_splice(void); }
+77	AUE_NULL	STD	{ int linux_tee(void); }
+78	AUE_READLINKAT	STD	{ int linux_readlinkat(l_int dfd, \
+				    const char *path, char *buf, \
+				    l_int bufsiz); }
+79	AUE_FSTATAT	STD	{ int linux_newfstatat(l_int dfd, \
+				    char *pathname, struct l_stat64 *statbuf, \
+				    l_int flag); }
+80	AUE_FSTAT	STD	{ int linux_newfstat(l_uint fd, \
+				    struct l_newstat *buf); }
+81	AUE_NULL	UNIMPL	linux_sync
+82	AUE_FSYNC	NOPROTO	{ int fsync(int fd); }
+83	AUE_NULL	STD	{ int linux_fdatasync(l_uint fd); }
+84	AUE_NULL	STD	{ int linux_sync_file_range(void); }
+85	AUE_NULL	STD	{ int linux_timerfd_create(l_int clockid, \
+				    l_int flags); }
+86	AUE_NULL	STD	{ int linux_timerfd_settime(l_int fd, \
+				    l_int flags, \
+				    const struct l_itimerspec *new_value, \
+				    struct l_itimerspec *old_value); }
+87	AUE_NULL	STD	{ int linux_timerfd_gettime(l_int fd, \
+				    struct l_itimerspec *old_value); }
+88	AUE_FUTIMESAT	STD	{ int linux_utimensat(l_int dfd, \
+				    const char *pathname, \
+				    const struct l_timespec *times, \
+				    l_int flags); }
+89	AUE_ACCT	NOPROTO	{ int acct(char *path); }
+90	AUE_CAPGET	STD	{ int linux_capget( \
+				    struct l_user_cap_header *hdrp, \
+				    struct l_user_cap_data *datap); }
+91	AUE_CAPSET	STD	{ int linux_capset( \
+				    struct l_user_cap_header *hdrp, \
+				    struct l_user_cap_data *datap); }
+92	AUE_PERSONALITY	STD	{ int linux_personality(l_uint per); }
+93	AUE_EXIT	STD	{ int linux_exit(int rval); }
+94	AUE_EXIT	STD	{ int linux_exit_group(int error_code); }
+95	AUE_WAIT6	STD	{ int linux_waitid(l_int idtype, l_pid_t id, \
+				    l_siginfo_t *info, l_int options, \
+				    struct rusage *rusage); }
+96	AUE_NULL	STD	{ int linux_set_tid_address(int *tidptr); }
+97	AUE_NULL	STD	{ int linux_unshare(void); }
+98	AUE_NULL	STD	{ int linux_sys_futex(void *uaddr, int op, \
+				    int val, struct l_timespec *timeout, \
+				    void *uaddr2, int val3); }
+99	AUE_NULL	STD	{ int linux_set_robust_list( \
+				    struct linux_robust_list_head *head, \
+				    l_size_t len); }
+100	AUE_NULL	STD	{ int linux_get_robust_list(l_int pid, \
+				    struct linux_robust_list_head **head, \
+				    l_size_t *len); }
+101	AUE_NULL	STD	{ int linux_nanosleep( \
+				    const struct l_timespec *rqtp, \
+				    struct l_timespec *rmtp); }
+102	AUE_GETITIMER	STD	{ int linux_getitimer(l_int which, \
+				    struct l_itimerval *itv); }
+103	AUE_SETITIMER	STD	{ int linux_setitimer(l_int which, \
+				    struct l_itimerval *itv, \
+				    struct l_itimerval *oitv); }
+104	AUE_NULL	STD	{ int linux_kexec_load(void); }
+105	AUE_NULL	STD	{ int linux_init_module(void); }
+106	AUE_NULL	STD	{ int linux_delete_module(void); }
+107	AUE_NULL	STD	{ int linux_timer_create(clockid_t clock_id, \
+				    struct sigevent *evp, l_timer_t *timerid); }
+108	AUE_NULL	STD	{ int linux_timer_gettime(l_timer_t timerid, \
+				    struct itimerspec *setting); }
+109	AUE_NULL	STD	{ int linux_timer_getoverrun( \
+				    l_timer_t timerid); }
+110	AUE_NULL	STD	{ int linux_timer_settime(l_timer_t timerid, \
+				    l_int flags, const struct itimerspec *new, \
+				    struct itimerspec *old); }
+111	AUE_NULL	STD	{ int linux_timer_delete(l_timer_t timerid); }
+112	AUE_CLOCK_SETTIME	STD	{ int linux_clock_settime( \
+				    clockid_t which, struct l_timespec *tp); }
+113	AUE_NULL	STD	{ int linux_clock_gettime(clockid_t which, \
+				    struct l_timespec *tp); }
+114	AUE_NULL	STD	{ int linux_clock_getres(clockid_t which, \
+				    struct l_timespec *tp); }
+115	AUE_NULL	STD	{ int linux_clock_nanosleep(clockid_t which, \
+				    int flags, struct l_timespec *rqtp, \
+				    struct l_timespec *rmtp); }
+116	AUE_NULL	STD	{ int linux_syslog(l_int type, char *buf, \
+				    l_int len); }
+117	AUE_PTRACE	STD	{ int linux_ptrace(l_long req, l_long pid, \
+				    l_ulong addr, l_ulong data); }
+118	AUE_SCHED_SETPARAM	STD	{ int linux_sched_setparam( \
+				    l_pid_t pid, struct sched_param *param); }
+119	AUE_SCHED_SETSCHEDULER	STD { int linux_sched_setscheduler( \
+				    l_pid_t pid, l_int policy, \
+				    struct sched_param *param); }
+120	AUE_SCHED_GETSCHEDULER	STD { int linux_sched_getscheduler( \
+				    l_pid_t pid); }
+121	AUE_SCHED_GETPARAM	STD	{ int linux_sched_getparam( \
+				    l_pid_t pid, struct sched_param *param); }
+122	AUE_NULL	STD	{ int linux_sched_setaffinity(l_pid_t pid, \
+				    l_uint len, l_ulong *user_mask_ptr); }
+123	AUE_NULL	STD	{ int linux_sched_getaffinity(l_pid_t pid, \
+				    l_uint len, l_ulong *user_mask_ptr); }
+124	AUE_NULL	NOPROTO	{ int sched_yield(void); }
+125	AUE_SCHED_GET_PRIORITY_MAX	STD { int linux_sched_get_priority_max(\
+				    l_int policy); }
+126	AUE_SCHED_GET_PRIORITY_MIN	STD { int linux_sched_get_priority_min(\
+				    l_int policy); }
+127	AUE_SCHED_RR_GET_INTERVAL	STD { int linux_sched_rr_get_interval( \
+				    l_pid_t pid, struct l_timespec *interval); }
+128	AUE_NULL	UNIMPL	restart_syscall
+129	AUE_KILL	STD	{ int linux_kill(l_int pid, l_int signum); }
+130	AUE_NULL	STD	{ int linux_tkill(l_int tid, l_int sig); }
+131	AUE_NULL	STD	{ int linux_tgkill(l_int tgid, l_int pid, \
+				    l_int sig); }
+132	AUE_NULL	STD	{ int linux_sigaltstack(l_stack_t *uss, \
+				    l_stack_t *uoss); }
+133	AUE_NULL	STD	{ int linux_rt_sigsuspend( \
+				    l_sigset_t *newset, \
+				    l_size_t sigsetsize); }
+134	AUE_NULL	STD	{ int linux_rt_sigaction(l_int sig, \
+				    l_sigaction_t *act, l_sigaction_t *oact, \
+				    l_size_t sigsetsize); }
+135	AUE_NULL	STD	{ int linux_rt_sigprocmask(l_int how, \
+				    l_sigset_t *mask, l_sigset_t *omask, \
+				    l_size_t sigsetsize); }
+136	AUE_NULL	STD	{ int linux_rt_sigpending(l_sigset_t *set, \
+				    l_size_t sigsetsize); }
+137	AUE_NULL	STD	{ int linux_rt_sigtimedwait(l_sigset_t *mask, \
+				    l_siginfo_t *ptr, \
+				    struct l_timeval *timeout, \
+				    l_size_t sigsetsize); }
+138	AUE_NULL	STD	{ int linux_rt_sigqueueinfo(l_pid_t pid, \
+				    l_int sig, l_siginfo_t *info); }
+139	AUE_NULL	STD	{ int linux_rt_sigreturn( \
+				    struct l_ucontext *ucp); }
+140	AUE_SETPRIORITY	NOPROTO	{ int setpriority(int which, int who, \
+				    int prio); }
+141	AUE_GETPRIORITY	STD	{ int linux_getpriority(l_int which, \
+				    l_int who); }
+142	AUE_REBOOT	STD	{ int linux_reboot(l_int magic1, \
+				    l_int magic2, l_uint cmd, void *arg); }
+143	AUE_SETREGID	NOPROTO	{ int setregid(gid_t rgid, gid_t egid); }
+144	AUE_SETGID	NOPROTO	{ int setgid(gid_t gid); }
+145	AUE_SETREUID	NOPROTO	{ int setreuid(uid_t ruid, uid_t euid); }
+146	AUE_SETUID	NOPROTO	{ int setuid(uid_t uid); }
+147	AUE_SETRESUID	NOPROTO	{ int setresuid(uid_t ruid, uid_t euid, \
+				    uid_t suid); }
+148	AUE_GETRESUID	NOPROTO	{ int getresuid(uid_t *ruid, uid_t *euid, \
+				    uid_t *suid); }
+149	AUE_SETRESGID	NOPROTO	{ int setresgid(gid_t rgid, gid_t egid, \
+				    gid_t sgid); }
+150	AUE_GETRESGID	NOPROTO	{ int getresgid(gid_t *rgid, gid_t *egid, \
+				    gid_t *sgid); }
+151	AUE_SETFSUID	STD	{ int linux_setfsuid(l_uid_t uid); }
+152	AUE_SETFSGID	STD	{ int linux_setfsgid(l_gid_t gid); }
+153	AUE_NULL	STD	{ int linux_times(struct l_times_argv *buf); }
+154	AUE_SETPGRP	NOPROTO	{ int setpgid(int pid, int pgid); }
+155	AUE_GETPGID	NOPROTO	{ int getpgid(int pid); }
+156	AUE_GETSID	STD	{ int linux_getsid(l_pid_t pid); }
+157	AUE_SETSID	NOPROTO	{ int setsid(void); }
+158	AUE_GETGROUPS	STD	{ int linux_getgroups(l_int gidsetsize, \
+				    l_gid_t *grouplist); }
+159	AUE_SETGROUPS	STD	{ int linux_setgroups(l_int gidsetsize, \
+				    l_gid_t *grouplist); }
+160	AUE_NULL	STD	{ int linux_newuname( \
+				    struct l_new_utsname *buf); }
+161	AUE_SYSCTL	STD	{ int linux_sethostname(char *hostname, \
+				    l_uint len); }
+162	AUE_SYSCTL	STD	{ int linux_setdomainname(char *name, \
+				    l_int len); }
+163	AUE_GETRLIMIT	STD	{ int linux_getrlimit(l_uint resource, \
+				    struct l_rlimit *rlim); }
+164	AUE_SETRLIMIT	STD	{ int linux_setrlimit(l_uint resource, \
+				    struct l_rlimit *rlim); }
+165	AUE_GETRUSAGE	NOPROTO	{ int getrusage(int who, \
+				    struct rusage *rusage); }
+166	AUE_UMASK	NOPROTO	{ int umask(int newmask); }
+167	AUE_PRCTL	STD	{ int linux_prctl(l_int option, \
+				    l_uintptr_t arg2, l_uintptr_t arg3, \
+				    l_uintptr_t arg4, l_uintptr_t arg5); }
+168	AUE_NULL	STD	{ int linux_getcpu(l_uint *cpu, l_uint *node, \
+				    void *cache); }
+169	AUE_NULL	NOPROTO	{ int gettimeofday(struct l_timeval *tp, \
+				    struct timezone *tzp); }
+170	AUE_SETTIMEOFDAY	NOPROTO	{ int settimeofday( \
+				    struct l_timeval *tv, \
+				    struct timezone *tzp); }
+171	AUE_ADJTIME	STD	{ int linux_adjtimex(void); }
+172	AUE_GETPID	STD	{ int linux_getpid(void); }
+173	AUE_GETPPID	STD	{ int linux_getppid(void); }
+174	AUE_GETUID	STD	{ int linux_getuid(void); }
+175	AUE_GETEUID	NOPROTO	{ int geteuid(void); }
+176	AUE_GETGID	STD	{ int linux_getgid(void); }
+177	AUE_GETEGID	NOPROTO	{ int getegid(void); }
+178	AUE_NULL	STD	{ int linux_gettid(void); }
+179	AUE_NULL	STD	{ int linux_sysinfo(struct l_sysinfo *info); }
+180	AUE_NULL	STD	{ int linux_mq_open(void); }
+181	AUE_NULL	STD	{ int linux_mq_unlink(void); }
+182	AUE_NULL	STD	{ int linux_mq_timedsend(void); }
+183	AUE_NULL	STD	{ int linux_mq_timedreceive(void); }
+184	AUE_NULL	STD	{ int linux_mq_notify(void); }
+185	AUE_NULL	STD	{ int linux_mq_getsetattr(void); }
+186	AUE_NULL	STD	{ int linux_msgget(l_key_t key, l_int msgflg); }
+187	AUE_NULL	STD	{ int linux_msgctl(l_int msqid, l_int cmd, \
+				    struct l_msqid_ds *buf); }
+188	AUE_NULL	STD	{ int linux_msgrcv(l_int msqid, \
+				    struct l_msgbuf *msgp, l_size_t msgsz, \
+				    l_long msgtyp, l_int msgflg); }
+189	AUE_NULL	STD	{ int linux_msgsnd(l_int msqid, \
+				    struct l_msgbuf *msgp, l_size_t msgsz, \
+				    l_int msgflg); }
+190	AUE_NULL	STD	{ int linux_semget(l_key_t key, \
+				    l_int nsems, l_int semflg); }
+191	AUE_NULL	STD	{ int linux_semctl(l_int semid, \
+				    l_int semnum, l_int cmd, \
+				    union l_semun arg); }
+192	AUE_NULL	STD	{ int linux_semtimedop(void); }
+193	AUE_NULL	STD	{ int linux_semop(l_int semid, \
+				    struct l_sembuf *tsops, l_uint nsops); }
+194	AUE_NULL	STD	{ int linux_shmget(l_key_t key, l_size_t size, \
+				    l_int shmflg); }
+195	AUE_NULL	STD	{ int linux_shmctl(l_int shmid, l_int cmd, \
+				    struct l_shmid_ds *buf); }
+196	AUE_NULL	STD	{ int linux_shmat(l_int shmid, char *shmaddr, \
+				    l_int shmflg); }
+197	AUE_NULL	STD	{ int linux_shmdt(char *shmaddr); }
+198	AUE_SOCKET	STD	{ int linux_socket(l_int domain, l_int type, \
+				    l_int protocol); }
+199	AUE_SOCKETPAIR	STD	{ int linux_socketpair(l_int domain, \
+				    l_int type, l_int protocol, \
+				    l_uintptr_t rsv); }
+200	AUE_BIND	STD	{ int linux_bind(l_int s, l_uintptr_t name, \
+				    l_int namelen); }
+201	AUE_LISTEN	STD	{ int linux_listen(l_int s, l_int backlog); }
+202	AUE_ACCEPT	STD	{ int linux_accept(l_int s, l_uintptr_t addr, \
+				    l_uintptr_t namelen); }
+203	AUE_CONNECT	STD	{ int linux_connect(l_int s, l_uintptr_t name, \
+				    l_int namelen); }
+204	AUE_GETSOCKNAME	STD	{ int linux_getsockname(l_int s, \
+				    l_uintptr_t addr, l_uintptr_t namelen); }
+205	AUE_GETPEERNAME	STD	{ int linux_getpeername(l_int s, \
+				    l_uintptr_t addr, l_uintptr_t namelen); }
+206	AUE_SENDTO	STD	{ int linux_sendto(l_int s, l_uintptr_t msg, \
+				    l_int len, l_int flags, l_uintptr_t to, \
+				    l_int tolen); }
+207	AUE_RECVFROM	STD	{ int linux_recvfrom(l_int s, l_uintptr_t buf, \
+				    l_size_t len, l_int flags, \
+				    l_uintptr_t from, l_uintptr_t fromlen); }
+208	AUE_SETSOCKOPT	STD	{ int linux_setsockopt(l_int s, l_int level, \
+				    l_int optname, l_uintptr_t optval, \
+				    l_int optlen); }
+209	AUE_GETSOCKOPT	STD	{ int linux_getsockopt(l_int s, l_int level, \
+				    l_int optname, l_uintptr_t optval, \
+				    l_uintptr_t optlen); }
+210	AUE_NULL	STD	{ int linux_shutdown(l_int s, l_int how); }
+211	AUE_SENDMSG	STD	{ int linux_sendmsg(l_int s, l_uintptr_t msg, \
+				    l_int flags); }
+212	AUE_RECVMSG	STD	{ int linux_recvmsg(l_int s, l_uintptr_t msg, \
+				    l_int flags); }
+213	AUE_NULL	UNIMPL	linux_readahead
+214	AUE_NULL	STD	{ int linux_brk(l_ulong dsend); }
+215	AUE_MUNMAP	NOPROTO	{ int munmap(caddr_t addr, int len); }
+216	AUE_NULL	STD	{ int linux_mremap(l_ulong addr, \
+				    l_ulong old_len, l_ulong new_len, \
+				    l_ulong flags, l_ulong new_addr); }
+217	AUE_NULL	STD	{ int linux_add_key(void); }
+218	AUE_NULL	STD	{ int linux_request_key(void); }
+219	AUE_NULL	STD	{ int linux_keyctl(void); }
+220	AUE_RFORK	STD	{ int linux_clone(l_int flags, void *stack, \
+				    void *parent_tidptr, void *child_tidptr, \
+				    void *tls); }
+221	AUE_EXECVE	STD	{ int linux_execve(char *path, char **argp, \
+				    char **envp); }
+222	AUE_MMAP	STD	{ int linux_mmap2(l_ulong addr, l_ulong len, \
+				    l_ulong prot, l_ulong flags, l_ulong fd, \
+				    l_ulong pgoff); }
+223	AUE_NULL	STD	{ int linux_fadvise64(l_int fd, \
+				    l_loff_t offset, l_size_t len, \
+				    l_int advice); }
+224	AUE_SWAPON	NOPROTO	{ int swapon(char *name); }
+225	AUE_SWAPOFF	STD	{ int linux_swapoff(void); }
+226	AUE_MPROTECT	STD	{ int linux_mprotect(caddr_t addr, l_int len, \
+				    l_int prot); }
+227	AUE_MSYNC	STD	{ int linux_msync(l_ulong addr, \
+				    l_size_t len, l_int fl); }
+228	AUE_MLOCK	NOPROTO	{ int mlock(const void *addr, size_t len); }
+229	AUE_MUNLOCK	NOPROTO	{ int munlock(const void *addr, size_t len); }
+230	AUE_MLOCKALL	NOPROTO	{ int mlockall(int how); }
+231	AUE_MUNLOCKALL	NOPROTO	{ int munlockall(void); }
+232	AUE_MINCORE	STD	{ int linux_mincore(l_ulong start, \
+				    l_size_t len, u_char *vec); }
+233	AUE_MADVISE	NOPROTO	{ int madvise(void *addr, size_t len, \
+				    int behav); }
+234	AUE_NULL	STD	{ int linux_remap_file_pages(void); }
+235	AUE_NULL	STD	{ int linux_mbind(void); }
+236	AUE_NULL	STD	{ int linux_get_mempolicy(void); }
+237	AUE_NULL	STD	{ int linux_set_mempolicy(void); }
+238	AUE_NULL	STD	{ int linux_migrate_pages(void); }
+239	AUE_NULL	STD	{ int linux_move_pages(void); }
+240	AUE_NULL	STD	{ int linux_rt_tgsigqueueinfo(l_pid_t tgid, \
+				    l_pid_t tid, l_int sig, \
+				    l_siginfo_t *uinfo); }
+241	AUE_NULL	STD	{ int linux_perf_event_open(void); }
+242	AUE_ACCEPT	STD	{ int linux_accept4(l_int s, l_uintptr_t addr, \
+				    l_uintptr_t namelen, int flags); }
+243	AUE_NULL	STD	{ int linux_recvmmsg(l_int s, \
+				    struct l_mmsghdr *msg, l_uint vlen, \
+				    l_uint flags, struct l_timespec *timeout); }
+244-259	AUE_NULL	UNIMPL	unimpl_md_syscall
+260	AUE_WAIT4	STD	{ int linux_wait4(l_pid_t pid, \
+				    l_int *status, l_int options, \
+				    struct rusage *rusage); }
+261	AUE_NULL	STD	{ int linux_prlimit64(l_pid_t pid, \
+				    l_uint resource, struct rlimit *new, \
+				    struct rlimit *old); }
+262	AUE_NULL	STD	{ int linux_fanotify_init(void); }
+263	AUE_NULL	STD	{ int linux_fanotify_mark(void); }
+264	AUE_NULL	STD	{ int linux_name_to_handle_at(void); }
+265	AUE_NULL	STD	{ int linux_open_by_handle_at(void); }
+266	AUE_NULL	STD	{ int linux_clock_adjtime(void); }
+267	AUE_SYNC	STD	{ int linux_syncfs(l_int fd); }
+268	AUE_NULL	STD	{ int linux_setns(l_int fd, l_int nstype); }
+269	AUE_NULL	STD	{ int linux_sendmmsg(l_int s, \
+				    struct l_mmsghdr *msg, l_uint vlen, \
+				    l_uint flags); }
+270	AUE_NULL	STD	{ int linux_process_vm_readv(l_pid_t pid, \
+				    const struct iovec *lvec, l_ulong liovcnt, \
+				    const struct iovec *rvec, l_ulong riovcnt, \
+				    l_ulong flags); }
+271	AUE_NULL	STD	{ int linux_process_vm_writev(l_pid_t pid, \
+				    const struct iovec *lvec, l_ulong liovcnt, \
+				    const struct iovec *rvec, l_ulong riovcnt, \
+				    l_ulong flags); }
+272	AUE_NULL	STD	{ int linux_kcmp(l_pid_t pid1, l_pid_t pid2, \
+				    l_int type, l_ulong idx1, l_ulong idx); }
+273	AUE_NULL	STD	{ int linux_finit_module(l_int fd, \
+				    const char *uargs, l_int flags); }
+274	AUE_NULL	STD	{ int linux_sched_setattr(l_pid_t pid, \
+				    void *attr, l_uint flags); }
+275	AUE_NULL	STD	{ int linux_sched_getattr(l_pid_t pid, \
+				    void *attr, l_uint size, l_uint flags); }
+276	AUE_NULL	STD	{ int linux_renameat2(l_int oldfd, \
+				    const char *oldname, l_int newfd, \
+				    const char *newname, unsigned int flags); }
+277	AUE_NULL	STD	{ int linux_seccomp(l_uint op, l_uint flags, \
+				    const char *uargs); }
+278	AUE_NULL	STD	{ int linux_getrandom(char *buf, \
+				    l_size_t count, l_uint flags); }
+279	AUE_NULL	STD	{ int linux_memfd_create( \
+				    const char *uname_ptr, l_uint flags); }
+280	AUE_NULL	STD	{ int linux_bpf(l_int cmd, void *attr, \
+				    l_uint size); }
+281	AUE_NULL	STD	{ int linux_execveat(l_int dfd, \
+				    const char *filename, const char **argv, \
+				    const char **envp, l_int flags); }
+282	AUE_NULL	STD	{ int linux_userfaultfd(l_int flags); }
+283	AUE_NULL	STD	{ int linux_membarrier(l_int cmd, \
+				    l_int flags); }
+284	AUE_NULL	STD	{ int linux_mlock2(l_ulong start, \
+				    l_size_t len, l_int flags); }
+285	AUE_NULL	STD	{ int linux_copy_file_range(l_int fd_in, \
+				    l_loff_t *off_in, l_int fd_out, \
+				    l_loff_t *off_out, l_size_t len, \
+				    l_uint flags); }
+286	AUE_NULL	STD	{ int linux_preadv2(l_ulong fd, \
+				    const struct iovec *vec, l_ulong vlen, \
+				    l_ulong pos_l, l_ulong pos_h, \
+				    l_int flags); }
+287	AUE_NULL	STD	{ int linux_pwritev2(l_ulong fd, \
+				    const struct iovec *vec, l_ulong vlen, \
+				    l_ulong pos_l, l_ulong pos_h, \
+				    l_int flags); }
+288	AUE_NULL	STD	{ int linux_pkey_mprotect(l_ulong start, \
+				    l_size_t len, l_ulong prot, l_int pkey); }
+289	AUE_NULL	STD	{ int linux_pkey_alloc(l_ulong flags, \
+				    l_ulong init_val); }
+290	AUE_NULL	STD	{ int linux_pkey_free(l_int pkey); }
+
+; please, keep this line at the end.
+291	AUE_NULL	UNIMPL	nosys
+
+; vim: syntax=off


More information about the svn-src-head mailing list