From owner-svn-src-all@freebsd.org Thu Apr 26 18:39:00 2018 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E1B5CFB50EE; Thu, 26 Apr 2018 18:38:59 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8963F8A3B5; Thu, 26 Apr 2018 18:38:59 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 810981BC9F; Thu, 26 Apr 2018 18:38:59 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3QIcx9Q030166; Thu, 26 Apr 2018 18:38:59 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3QIcxLK030163; Thu, 26 Apr 2018 18:38:59 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201804261838.w3QIcxLK030163@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 26 Apr 2018 18:38:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r333027 - head/sys/arm64/linux X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/arm64/linux X-SVN-Commit-Revision: 333027 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Apr 2018 18:39:00 -0000 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 +#include +#include +#include +#include +#include + +; 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