From 7005b692c30dcd2ada0eb707c69172bdc290d800 Mon Sep 17 00:00:00 2001 From: Steve Biedermann Date: Mon, 24 Nov 2025 12:41:54 +0100 Subject: [PATCH] add markdown file with all syscalls --- README.md | 2 +- etc/syscalls_linux_aarch64.md | 327 ++++++++++++++++++++++++++++++++++ 2 files changed, 328 insertions(+), 1 deletion(-) create mode 100644 etc/syscalls_linux_aarch64.md diff --git a/README.md b/README.md index ddef411..7c98c8a 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ model within the kernel context: ### Process Management * Full task management including scheduling and task migration via IPIs. -* Currently implements 49 Linux syscalls; sufficient to execute most BusyBox +* Currently implements [51 Linux syscalls](./etc/syscalls.md); sufficient to execute most BusyBox commands. * Advanced forking capabilities via `clone()`. * Process and thread signal delivery and raising support. diff --git a/etc/syscalls_linux_aarch64.md b/etc/syscalls_linux_aarch64.md new file mode 100644 index 0000000..3410ae5 --- /dev/null +++ b/etc/syscalls_linux_aarch64.md @@ -0,0 +1,327 @@ +# Syscalls + +| Number | Name | Signature | Symbol | Implemented | +| ----------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------- | ----------- | +| 0x0 (0) | io_setup | (unsigned nr_events, aio_context_t *ctxp) | __arm64_sys_io_setup | false | +| 0x1 (1) | io_destroy | (aio_context_t ctx) | __arm64_sys_io_destroy | false | +| 0x2 (2) | io_submit | (aio_context_t ctx_id, long nr, struct iocb **iocbpp) | __arm64_sys_io_submit | false | +| 0x3 (3) | io_cancel | (aio_context_t ctx_id, struct iocb *iocb, struct io_event *result) | __arm64_sys_io_cancel | false | +| 0x4 (4) | io_getevents | (aio_context_t ctx_id, long min_nr, long nr, struct io_event *events, struct __kernel_timespec *timeout) | __arm64_sys_io_getevents | false | +| 0x5 (5) | setxattr | (const char *pathname, const char *name, const void *value, size_t size, int flags) | __arm64_sys_setxattr | false | +| 0x6 (6) | lsetxattr | (const char *pathname, const char *name, const void *value, size_t size, int flags) | __arm64_sys_lsetxattr | false | +| 0x7 (7) | fsetxattr | (int fd, const char *name, const void *value, size_t size, int flags) | __arm64_sys_fsetxattr | false | +| 0x8 (8) | getxattr | (const char *pathname, const char *name, void *value, size_t size) | __arm64_sys_getxattr | false | +| 0x9 (9) | lgetxattr | (const char *pathname, const char *name, void *value, size_t size) | __arm64_sys_lgetxattr | false | +| 0xa (10) | fgetxattr | (int fd, const char *name, void *value, size_t size) | __arm64_sys_fgetxattr | false | +| 0xb (11) | listxattr | (const char *pathname, char *list, size_t size) | __arm64_sys_listxattr | false | +| 0xc (12) | llistxattr | (const char *pathname, char *list, size_t size) | __arm64_sys_llistxattr | false | +| 0xd (13) | flistxattr | (int fd, char *list, size_t size) | __arm64_sys_flistxattr | false | +| 0xe (14) | removexattr | (const char *pathname, const char *name) | __arm64_sys_removexattr | false | +| 0xf (15) | lremovexattr | (const char *pathname, const char *name) | __arm64_sys_lremovexattr | false | +| 0x10 (16) | fremovexattr | (int fd, const char *name) | __arm64_sys_fremovexattr | false | +| 0x11 (17) | getcwd | (char *buf, unsigned long size) | __arm64_sys_getcwd | true | +| 0x13 (19) | eventfd2 | (unsigned int count, int flags) | __arm64_sys_eventfd2 | false | +| 0x14 (20) | epoll_create1 | (int flags) | __arm64_sys_epoll_create1 | false | +| 0x15 (21) | epoll_ctl | (int epfd, int op, int fd, struct epoll_event *event) | __arm64_sys_epoll_ctl | false | +| 0x16 (22) | epoll_pwait | (int epfd, struct epoll_event *events, int maxevents, int timeout, const sigset_t *sigmask, size_t sigsetsize) | __arm64_sys_epoll_pwait | false | +| 0x17 (23) | dup | (unsigned int fildes) | __arm64_sys_dup | true | +| 0x18 (24) | dup3 | (unsigned int oldfd, unsigned int newfd, int flags) | __arm64_sys_dup3 | true | +| 0x19 (25) | fcntl | (unsigned int fd, unsigned int cmd, unsigned long arg) | __arm64_sys_fcntl | true | +| 0x1a (26) | inotify_init1 | (int flags) | __arm64_sys_inotify_init1 | false | +| 0x1b (27) | inotify_add_watch | (int fd, const char *pathname, u32 mask) | __arm64_sys_inotify_add_watch | false | +| 0x1c (28) | inotify_rm_watch | (int fd, __s32 wd) | __arm64_sys_inotify_rm_watch | false | +| 0x1d (29) | ioctl | (unsigned int fd, unsigned int cmd, unsigned long arg) | __arm64_sys_ioctl | true | +| 0x1e (30) | ioprio_set | (int which, int who, int ioprio) | __arm64_sys_ioprio_set | false | +| 0x1f (31) | ioprio_get | (int which, int who) | __arm64_sys_ioprio_get | false | +| 0x20 (32) | flock | (unsigned int fd, unsigned int cmd) | __arm64_sys_flock | false | +| 0x21 (33) | mknodat | (int dfd, const char *filename, umode_t mode, unsigned int dev) | __arm64_sys_mknodat | false | +| 0x22 (34) | mkdirat | (int dfd, const char *pathname, umode_t mode) | __arm64_sys_mkdirat | false | +| 0x23 (35) | unlinkat | (int dfd, const char *pathname, int flag) | __arm64_sys_unlinkat | false | +| 0x24 (36) | symlinkat | (const char *oldname, int newdfd, const char *newname) | __arm64_sys_symlinkat | false | +| 0x25 (37) | linkat | (int olddfd, const char *oldname, int newdfd, const char *newname, int flags) | __arm64_sys_linkat | false | +| 0x26 (38) | renameat | (int olddfd, const char *oldname, int newdfd, const char *newname) | __arm64_sys_renameat | false | +| 0x27 (39) | umount | (char *name, int flags) | __arm64_sys_umount | false | +| 0x28 (40) | mount | (char *dev_name, char *dir_name, char *type, unsigned long flags, void *data) | __arm64_sys_mount | false | +| 0x29 (41) | pivot_root | (const char *new_root, const char *put_old) | __arm64_sys_pivot_root | false | +| 0x2b (43) | statfs | (const char *pathname, struct statfs *buf) | __arm64_sys_statfs | false | +| 0x2c (44) | fstatfs | (unsigned int fd, struct statfs *buf) | __arm64_sys_fstatfs | false | +| 0x2d (45) | truncate | (const char *path, long length) | __arm64_sys_truncate | false | +| 0x2e (46) | ftruncate | (unsigned int fd, off_t length) | __arm64_sys_ftruncate | false | +| 0x2f (47) | fallocate | (int fd, int mode, loff_t offset, loff_t len) | __arm64_sys_fallocate | false | +| 0x30 (48) | faccessat | (int dfd, const char *filename, int mode) | __arm64_sys_faccessat | true | +| 0x31 (49) | chdir | (const char *filename) | __arm64_sys_chdir | true | +| 0x32 (50) | fchdir | (unsigned int fd) | __arm64_sys_fchdir | false | +| 0x33 (51) | chroot | (const char *filename) | __arm64_sys_chroot | false | +| 0x34 (52) | fchmod | (unsigned int fd, umode_t mode) | __arm64_sys_fchmod | false | +| 0x35 (53) | fchmodat | (int dfd, const char *filename, umode_t mode) | __arm64_sys_fchmodat | false | +| 0x36 (54) | fchownat | (int dfd, const char *filename, uid_t user, gid_t group, int flag) | __arm64_sys_fchownat | false | +| 0x37 (55) | fchown | (unsigned int fd, uid_t user, gid_t group) | __arm64_sys_fchown | false | +| 0x38 (56) | openat | (int dfd, const char *filename, int flags, umode_t mode) | __arm64_sys_openat | true | +| 0x39 (57) | close | (unsigned int fd) | __arm64_sys_close | true | +| 0x3a (58) | vhangup | () | __arm64_sys_vhangup | false | +| 0x3b (59) | pipe2 | (int *fildes, int flags) | __arm64_sys_pipe2 | true | +| 0x3c (60) | quotactl | (unsigned int cmd, const char *special, qid_t id, void *addr) | __arm64_sys_quotactl | false | +| 0x3d (61) | getdents64 | (unsigned int fd, struct linux_dirent64 *dirent, unsigned int count) | __arm64_sys_getdents64 | true | +| 0x3e (62) | lseek | (unsigned int fd, off_t offset, unsigned int whence) | __arm64_sys_lseek | true | +| 0x3f (63) | read | (unsigned int fd, char *buf, size_t count) | __arm64_sys_read | true | +| 0x40 (64) | write | (unsigned int fd, const char *buf, size_t count) | __arm64_sys_write | true | +| 0x41 (65) | readv | (unsigned long fd, const struct iovec *vec, unsigned long vlen) | __arm64_sys_readv | true | +| 0x42 (66) | writev | (unsigned long fd, const struct iovec *vec, unsigned long vlen) | __arm64_sys_writev | true | +| 0x43 (67) | pread64 | (unsigned int fd, char *buf, size_t count, loff_t pos) | __arm64_sys_pread64 | false | +| 0x44 (68) | pwrite64 | (unsigned int fd, const char *buf, size_t count, loff_t pos) | __arm64_sys_pwrite64 | false | +| 0x45 (69) | preadv | (unsigned long fd, const struct iovec *vec, unsigned long vlen, unsigned long pos_l, unsigned long pos_h) | __arm64_sys_preadv | false | +| 0x46 (70) | pwritev | (unsigned long fd, const struct iovec *vec, unsigned long vlen, unsigned long pos_l, unsigned long pos_h) | __arm64_sys_pwritev | false | +| 0x47 (71) | sendfile64 | (int out_fd, int in_fd, loff_t *offset, size_t count) | __arm64_sys_sendfile64 | true | +| 0x48 (72) | pselect6 | (int n, fd_set *inp, fd_set *outp, fd_set *exp, struct __kernel_timespec *tsp, void *sig) | __arm64_sys_pselect6 | true | +| 0x49 (73) | ppoll | (struct pollfd *ufds, unsigned int nfds, struct __kernel_timespec *tsp, const sigset_t *sigmask, size_t sigsetsize) | __arm64_sys_ppoll | true | +| 0x4a (74) | signalfd4 | (int ufd, sigset_t *user_mask, size_t sizemask, int flags) | __arm64_sys_signalfd4 | false | +| 0x4b (75) | vmsplice | (int fd, const struct iovec *uiov, unsigned long nr_segs, unsigned int flags) | __arm64_sys_vmsplice | false | +| 0x4c (76) | splice | (int fd_in, loff_t *off_in, int fd_out, loff_t *off_out, size_t len, unsigned int flags) | __arm64_sys_splice | false | +| 0x4d (77) | tee | (int fdin, int fdout, size_t len, unsigned int flags) | __arm64_sys_tee | false | +| 0x4e (78) | readlinkat | (int dfd, const char *pathname, char *buf, int bufsiz) | __arm64_sys_readlinkat | dummy | +| 0x4f (79) | newfstatat | (int dfd, const char *filename, struct stat *statbuf, int flag) | __arm64_sys_newfstatat | true | +| 0x50 (80) | newfstat | (unsigned int fd, struct stat *statbuf) | __arm64_sys_newfstat | true | +| 0x51 (81) | sync | () | __arm64_sys_sync | false | +| 0x52 (82) | fsync | (unsigned int fd) | __arm64_sys_fsync | false | +| 0x53 (83) | fdatasync | (unsigned int fd) | __arm64_sys_fdatasync | false | +| 0x54 (84) | sync_file_range | (int fd, loff_t offset, loff_t nbytes, unsigned int flags) | __arm64_sys_sync_file_range | false | +| 0x55 (85) | timerfd_create | (int clockid, int flags) | __arm64_sys_timerfd_create | false | +| 0x56 (86) | timerfd_settime | (int ufd, int flags, const struct __kernel_itimerspec *utmr, struct __kernel_itimerspec *otmr) | __arm64_sys_timerfd_settime | false | +| 0x57 (87) | timerfd_gettime | (int ufd, struct __kernel_itimerspec *otmr) | __arm64_sys_timerfd_gettime | false | +| 0x58 (88) | utimensat | (int dfd, const char *filename, struct __kernel_timespec *utimes, int flags) | __arm64_sys_utimensat | false | +| 0x59 (89) | acct | (const char *name) | __arm64_sys_acct | false | +| 0x5a (90) | capget | (cap_user_header_t header, cap_user_data_t dataptr) | __arm64_sys_capget | false | +| 0x5b (91) | capset | (cap_user_header_t header, const cap_user_data_t data) | __arm64_sys_capset | false | +| 0x5c (92) | personality | (unsigned int personality) | __arm64_sys_arm64_personality | false | +| 0x5d (93) | exit | (int error_code) | __arm64_sys_exit | true | +| 0x5e (94) | exit_group | (int error_code) | __arm64_sys_exit_group | true | +| 0x5f (95) | waitid | (int which, pid_t upid, struct siginfo *infop, int options, struct rusage *ru) | __arm64_sys_waitid | false | +| 0x60 (96) | set_tid_address | (int *tidptr) | __arm64_sys_set_tid_address | dummy | +| 0x61 (97) | unshare | (unsigned long unshare_flags) | __arm64_sys_unshare | false | +| 0x62 (98) | futex | (u32 *uaddr, int op, u32 val, const struct __kernel_timespec *utime, u32 *uaddr2, u32 val3) | __arm64_sys_futex | false | +| 0x63 (99) | set_robust_list | (struct robust_list_head *head, size_t len) | __arm64_sys_set_robust_list | false | +| 0x64 (100) | get_robust_list | (int pid, struct robust_list_head **head_ptr, size_t *len_ptr) | __arm64_sys_get_robust_list | false | +| 0x65 (101) | nanosleep | (struct __kernel_timespec *rqtp, struct __kernel_timespec *rmtp) | __arm64_sys_nanosleep | true | +| 0x66 (102) | getitimer | (int which, struct __kernel_old_itimerval *value) | __arm64_sys_getitimer | false | +| 0x67 (103) | setitimer | (int which, struct __kernel_old_itimerval *value, struct __kernel_old_itimerval *ovalue) | __arm64_sys_setitimer | false | +| 0x68 (104) | kexec_load | (unsigned long entry, unsigned long nr_segments, struct kexec_segment *segments, unsigned long flags) | __arm64_sys_kexec_load | false | +| 0x69 (105) | init_module | (void *umod, unsigned long len, const char *uargs) | __arm64_sys_init_module | false | +| 0x6a (106) | delete_module | (const char *name_user, unsigned int flags) | __arm64_sys_delete_module | false | +| 0x6b (107) | timer_create | (const clockid_t which_clock, struct sigevent *timer_event_spec, timer_t *created_timer_id) | __arm64_sys_timer_create | false | +| 0x6c (108) | timer_gettime | (timer_t timer_id, struct __kernel_itimerspec *setting) | __arm64_sys_timer_gettime | false | +| 0x6d (109) | timer_getoverrun | (timer_t timer_id) | __arm64_sys_timer_getoverrun | false | +| 0x6e (110) | timer_settime | (timer_t timer_id, int flags, const struct __kernel_itimerspec *new_setting, struct __kernel_itimerspec *old_setting) | __arm64_sys_timer_settime | false | +| 0x6f (111) | timer_delete | (timer_t timer_id) | __arm64_sys_timer_delete | false | +| 0x70 (112) | clock_settime | (const clockid_t which_clock, const struct __kernel_timespec *tp) | __arm64_sys_clock_settime | false | +| 0x71 (113) | clock_gettime | (const clockid_t which_clock, struct __kernel_timespec *tp) | __arm64_sys_clock_gettime | true | +| 0x72 (114) | clock_getres | (const clockid_t which_clock, struct __kernel_timespec *tp) | __arm64_sys_clock_getres | false | +| 0x73 (115) | clock_nanosleep | (const clockid_t which_clock, int flags, const struct __kernel_timespec *rqtp, struct __kernel_timespec *rmtp) | __arm64_sys_clock_nanosleep | false | +| 0x74 (116) | syslog | (int type, char *buf, int len) | __arm64_sys_syslog | false | +| 0x75 (117) | ptrace | (long request, long pid, unsigned long addr, unsigned long data) | __arm64_sys_ptrace | false | +| 0x76 (118) | sched_setparam | (pid_t pid, struct sched_param *param) | __arm64_sys_sched_setparam | false | +| 0x77 (119) | sched_setscheduler | (pid_t pid, int policy, struct sched_param *param) | __arm64_sys_sched_setscheduler | false | +| 0x78 (120) | sched_getscheduler | (pid_t pid) | __arm64_sys_sched_getscheduler | false | +| 0x79 (121) | sched_getparam | (pid_t pid, struct sched_param *param) | __arm64_sys_sched_getparam | false | +| 0x7a (122) | sched_setaffinity | (pid_t pid, unsigned int len, unsigned long *user_mask_ptr) | __arm64_sys_sched_setaffinity | false | +| 0x7b (123) | sched_getaffinity | (pid_t pid, unsigned int len, unsigned long *user_mask_ptr) | __arm64_sys_sched_getaffinity | false | +| 0x7c (124) | sched_yield | () | __arm64_sys_sched_yield | false | +| 0x7d (125) | sched_get_priority_max | (int policy) | __arm64_sys_sched_get_priority_max | false | +| 0x7e (126) | sched_get_priority_min | (int policy) | __arm64_sys_sched_get_priority_min | false | +| 0x7f (127) | sched_rr_get_interval | (pid_t pid, struct __kernel_timespec *interval) | __arm64_sys_sched_rr_get_interval | false | +| 0x80 (128) | restart_syscall | () | __arm64_sys_restart_syscall | false | +| 0x81 (129) | kill | (pid_t pid, int sig) | __arm64_sys_kill | dummy | +| 0x82 (130) | tkill | (pid_t pid, int sig) | __arm64_sys_tkill | true | +| 0x83 (131) | tgkill | (pid_t tgid, pid_t pid, int sig) | __arm64_sys_tgkill | false | +| 0x84 (132) | sigaltstack | (const stack_t *uss, stack_t *uoss) | __arm64_sys_sigaltstack | true | +| 0x85 (133) | rt_sigsuspend | (sigset_t *unewset, size_t sigsetsize) | __arm64_sys_rt_sigsuspend | false | +| 0x86 (134) | rt_sigaction | (int sig, const struct sigaction *act, struct sigaction *oact, size_t sigsetsize) | __arm64_sys_rt_sigaction | true | +| 0x87 (135) | rt_sigprocmask | (int how, sigset_t *nset, sigset_t *oset, size_t sigsetsize) | __arm64_sys_rt_sigprocmask | true | +| 0x88 (136) | rt_sigpending | (sigset_t *uset, size_t sigsetsize) | __arm64_sys_rt_sigpending | false | +| 0x89 (137) | rt_sigtimedwait | (const sigset_t *uthese, siginfo_t *uinfo, const struct __kernel_timespec *uts, size_t sigsetsize) | __arm64_sys_rt_sigtimedwait | false | +| 0x8a (138) | rt_sigqueueinfo | (pid_t pid, int sig, siginfo_t *uinfo) | __arm64_sys_rt_sigqueueinfo | false | +| 0x8b (139) | rt_sigreturn | () | __arm64_sys_rt_sigreturn | true | +| 0x8c (140) | setpriority | (int which, int who, int niceval) | __arm64_sys_setpriority | false | +| 0x8d (141) | getpriority | (int which, int who) | __arm64_sys_getpriority | false | +| 0x8e (142) | reboot | (int magic1, int magic2, unsigned int cmd, void *arg) | __arm64_sys_reboot | false | +| 0x8f (143) | setregid | (gid_t rgid, gid_t egid) | __arm64_sys_setregid | false | +| 0x90 (144) | setgid | (gid_t gid) | __arm64_sys_setgid | false | +| 0x91 (145) | setreuid | (uid_t ruid, uid_t euid) | __arm64_sys_setreuid | false | +| 0x92 (146) | setuid | (uid_t uid) | __arm64_sys_setuid | false | +| 0x93 (147) | setresuid | (uid_t ruid, uid_t euid, uid_t suid) | __arm64_sys_setresuid | false | +| 0x94 (148) | getresuid | (uid_t *ruidp, uid_t *euidp, uid_t *suidp) | __arm64_sys_getresuid | true | +| 0x95 (149) | setresgid | (gid_t rgid, gid_t egid, gid_t sgid) | __arm64_sys_setresgid | false | +| 0x96 (150) | getresgid | (gid_t *rgidp, gid_t *egidp, gid_t *sgidp) | __arm64_sys_getresgid | true | +| 0x97 (151) | setfsuid | (uid_t uid) | __arm64_sys_setfsuid | false | +| 0x98 (152) | setfsgid | (gid_t gid) | __arm64_sys_setfsgid | false | +| 0x99 (153) | times | (struct tms *tbuf) | __arm64_sys_times | false | +| 0x9a (154) | setpgid | (pid_t pid, pid_t pgid) | __arm64_sys_setpgid | true | +| 0x9b (155) | getpgid | (pid_t pid) | __arm64_sys_getpgid | true | +| 0x9c (156) | getsid | (pid_t pid) | __arm64_sys_getsid | false | +| 0x9d (157) | setsid | () | __arm64_sys_setsid | false | +| 0x9e (158) | getgroups | (int gidsetsize, gid_t *grouplist) | __arm64_sys_getgroups | false | +| 0x9f (159) | setgroups | (int gidsetsize, gid_t *grouplist) | __arm64_sys_setgroups | false | +| 0xa0 (160) | newuname | (struct new_utsname *name) | __arm64_sys_newuname | true | +| 0xa1 (161) | sethostname | (char *name, int len) | __arm64_sys_sethostname | false | +| 0xa2 (162) | setdomainname | (char *name, int len) | __arm64_sys_setdomainname | false | +| 0xa3 (163) | getrlimit | (unsigned int resource, struct rlimit *rlim) | __arm64_sys_getrlimit | false | +| 0xa4 (164) | setrlimit | (unsigned int resource, struct rlimit *rlim) | __arm64_sys_setrlimit | false | +| 0xa5 (165) | getrusage | (int who, struct rusage *ru) | __arm64_sys_getrusage | false | +| 0xa6 (166) | umask | (int mask) | __arm64_sys_umask | true | +| 0xa7 (167) | prctl | (int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5) | __arm64_sys_prctl | false | +| 0xa8 (168) | getcpu | (unsigned *cpup, unsigned *nodep, struct getcpu_cache *unused) | __arm64_sys_getcpu | false | +| 0xa9 (169) | gettimeofday | (struct __kernel_old_timeval *tv, struct timezone *tz) | __arm64_sys_gettimeofday | false | +| 0xaa (170) | settimeofday | (struct __kernel_old_timeval *tv, struct timezone *tz) | __arm64_sys_settimeofday | false | +| 0xab (171) | adjtimex | (struct __kernel_timex *txc_p) | __arm64_sys_adjtimex | false | +| 0xac (172) | getpid | () | __arm64_sys_getpid | true | +| 0xad (173) | getppid | () | __arm64_sys_getppid | true | +| 0xae (174) | getuid | () | __arm64_sys_getuid | true | +| 0xaf (175) | geteuid | () | __arm64_sys_geteuid | true | +| 0xb0 (176) | getgid | () | __arm64_sys_getgid | true | +| 0xb1 (177) | getegid | () | __arm64_sys_getegid | true | +| 0xb2 (178) | gettid | () | __arm64_sys_gettid | false | +| 0xb3 (179) | sysinfo | (struct sysinfo *info) | __arm64_sys_sysinfo | false | +| 0xb4 (180) | mq_open | (const char *u_name, int oflag, umode_t mode, struct mq_attr *u_attr) | __arm64_sys_mq_open | false | +| 0xb5 (181) | mq_unlink | (const char *u_name) | __arm64_sys_mq_unlink | false | +| 0xb6 (182) | mq_timedsend | (mqd_t mqdes, const char *u_msg_ptr, size_t msg_len, unsigned int msg_prio, const struct __kernel_timespec *u_abs_timeout) | __arm64_sys_mq_timedsend | false | +| 0xb7 (183) | mq_timedreceive | (mqd_t mqdes, char *u_msg_ptr, size_t msg_len, unsigned int *u_msg_prio, const struct __kernel_timespec *u_abs_timeout) | __arm64_sys_mq_timedreceive | false | +| 0xb8 (184) | mq_notify | (mqd_t mqdes, const struct sigevent *u_notification) | __arm64_sys_mq_notify | false | +| 0xb9 (185) | mq_getsetattr | (mqd_t mqdes, const struct mq_attr *u_mqstat, struct mq_attr *u_omqstat) | __arm64_sys_mq_getsetattr | false | +| 0xba (186) | msgget | (key_t key, int msgflg) | __arm64_sys_msgget | false | +| 0xbb (187) | msgctl | (int msqid, int cmd, struct msqid_ds *buf) | __arm64_sys_msgctl | false | +| 0xbc (188) | msgrcv | (int msqid, struct msgbuf *msgp, size_t msgsz, long msgtyp, int msgflg) | __arm64_sys_msgrcv | false | +| 0xbd (189) | msgsnd | (int msqid, struct msgbuf *msgp, size_t msgsz, int msgflg) | __arm64_sys_msgsnd | false | +| 0xbe (190) | semget | (key_t key, int nsems, int semflg) | __arm64_sys_semget | false | +| 0xbf (191) | semctl | (int semid, int semnum, int cmd, unsigned long arg) | __arm64_sys_semctl | false | +| 0xc0 (192) | semtimedop | (int semid, struct sembuf *tsops, unsigned int nsops, const struct __kernel_timespec *timeout) | __arm64_sys_semtimedop | false | +| 0xc1 (193) | semop | (int semid, struct sembuf *tsops, unsigned nsops) | __arm64_sys_semop | false | +| 0xc2 (194) | shmget | (key_t key, size_t size, int shmflg) | __arm64_sys_shmget | false | +| 0xc3 (195) | shmctl | (int shmid, int cmd, struct shmid_ds *buf) | __arm64_sys_shmctl | false | +| 0xc4 (196) | shmat | (int shmid, char *shmaddr, int shmflg) | __arm64_sys_shmat | false | +| 0xc5 (197) | shmdt | (char *shmaddr) | __arm64_sys_shmdt | false | +| 0xc6 (198) | socket | (int family, int type, int protocol) | __arm64_sys_socket | false | +| 0xc7 (199) | socketpair | (int family, int type, int protocol, int *usockvec) | __arm64_sys_socketpair | false | +| 0xc8 (200) | bind | (int fd, struct sockaddr *umyaddr, int addrlen) | __arm64_sys_bind | false | +| 0xc9 (201) | listen | (int fd, int backlog) | __arm64_sys_listen | false | +| 0xca (202) | accept | (int fd, struct sockaddr *upeer_sockaddr, int *upeer_addrlen) | __arm64_sys_accept | false | +| 0xcb (203) | connect | (int fd, struct sockaddr *uservaddr, int addrlen) | __arm64_sys_connect | false | +| 0xcc (204) | getsockname | (int fd, struct sockaddr *usockaddr, int *usockaddr_len) | __arm64_sys_getsockname | false | +| 0xcd (205) | getpeername | (int fd, struct sockaddr *usockaddr, int *usockaddr_len) | __arm64_sys_getpeername | false | +| 0xce (206) | sendto | (int fd, void *buff, size_t len, unsigned int flags, struct sockaddr *addr, int addr_len) | __arm64_sys_sendto | false | +| 0xcf (207) | recvfrom | (int fd, void *ubuf, size_t size, unsigned int flags, struct sockaddr *addr, int *addr_len) | __arm64_sys_recvfrom | false | +| 0xd0 (208) | setsockopt | (int fd, int level, int optname, char *optval, int optlen) | __arm64_sys_setsockopt | false | +| 0xd1 (209) | getsockopt | (int fd, int level, int optname, char *optval, int *optlen) | __arm64_sys_getsockopt | false | +| 0xd2 (210) | shutdown | (int fd, int how) | __arm64_sys_shutdown | false | +| 0xd3 (211) | sendmsg | (int fd, struct user_msghdr *msg, unsigned int flags) | __arm64_sys_sendmsg | false | +| 0xd4 (212) | recvmsg | (int fd, struct user_msghdr *msg, unsigned int flags) | __arm64_sys_recvmsg | false | +| 0xd5 (213) | readahead | (int fd, loff_t offset, size_t count) | __arm64_sys_readahead | false | +| 0xd6 (214) | brk | (unsigned long brk) | __arm64_sys_brk | true | +| 0xd7 (215) | munmap | (unsigned long addr, size_t len) | __arm64_sys_munmap | true | +| 0xd8 (216) | mremap | (unsigned long addr, unsigned long old_len, unsigned long new_len, unsigned long flags, unsigned long new_addr) | __arm64_sys_mremap | false | +| 0xd9 (217) | add_key | (const char *_type, const char *_description, const void *_payload, size_t plen, key_serial_t ringid) | __arm64_sys_add_key | false | +| 0xda (218) | request_key | (const char *_type, const char *_description, const char *_callout_info, key_serial_t destringid) | __arm64_sys_request_key | false | +| 0xdb (219) | keyctl | (int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5) | __arm64_sys_keyctl | false | +| 0xdc (220) | clone | (unsigned long clone_flags, unsigned long newsp, int *parent_tidptr, unsigned long tls, int *child_tidptr) | __arm64_sys_clone | true | +| 0xdd (221) | execve | (const char *filename, const char *const *argv, const char *const *envp) | __arm64_sys_execve | true | +| 0xde (222) | mmap | (unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long off) | __arm64_sys_mmap | true | +| 0xdf (223) | fadvise64_64 | (int fd, loff_t offset, loff_t len, int advice) | __arm64_sys_fadvise64_64 | false | +| 0xe0 (224) | swapon | (const char *specialfile, int swap_flags) | __arm64_sys_swapon | false | +| 0xe1 (225) | swapoff | (const char *specialfile) | __arm64_sys_swapoff | false | +| 0xe2 (226) | mprotect | (unsigned long start, size_t len, unsigned long prot) | __arm64_sys_mprotect | false | +| 0xe3 (227) | msync | (unsigned long start, size_t len, int flags) | __arm64_sys_msync | false | +| 0xe4 (228) | mlock | (unsigned long start, size_t len) | __arm64_sys_mlock | false | +| 0xe5 (229) | munlock | (unsigned long start, size_t len) | __arm64_sys_munlock | false | +| 0xe6 (230) | mlockall | (int flags) | __arm64_sys_mlockall | false | +| 0xe7 (231) | munlockall | () | __arm64_sys_munlockall | false | +| 0xe8 (232) | mincore | (unsigned long start, size_t len, unsigned char *vec) | __arm64_sys_mincore | false | +| 0xe9 (233) | madvise | (unsigned long start, size_t len_in, int behavior) | __arm64_sys_madvise | false | +| 0xea (234) | remap_file_pages | (unsigned long start, unsigned long size, unsigned long prot, unsigned long pgoff, unsigned long flags) | __arm64_sys_remap_file_pages | false | +| 0xeb (235) | mbind | (unsigned long start, unsigned long len, unsigned long mode, const unsigned long *nmask, unsigned long maxnode, unsigned int flags) | __arm64_sys_mbind | false | +| 0xec (236) | get_mempolicy | (int *policy, unsigned long *nmask, unsigned long maxnode, unsigned long addr, unsigned long flags) | __arm64_sys_get_mempolicy | false | +| 0xed (237) | set_mempolicy | (int mode, const unsigned long *nmask, unsigned long maxnode) | __arm64_sys_set_mempolicy | false | +| 0xee (238) | migrate_pages | (pid_t pid, unsigned long maxnode, const unsigned long *old_nodes, const unsigned long *new_nodes) | __arm64_sys_migrate_pages | false | +| 0xef (239) | move_pages | (pid_t pid, unsigned long nr_pages, const void **pages, const int *nodes, int *status, int flags) | __arm64_sys_move_pages | false | +| 0xf0 (240) | rt_tgsigqueueinfo | (pid_t tgid, pid_t pid, int sig, siginfo_t *uinfo) | __arm64_sys_rt_tgsigqueueinfo | false | +| 0xf1 (241) | perf_event_open | (struct perf_event_attr *attr_uptr, pid_t pid, int cpu, int group_fd, unsigned long flags) | __arm64_sys_perf_event_open | false | +| 0xf2 (242) | accept4 | (int fd, struct sockaddr *upeer_sockaddr, int *upeer_addrlen, int flags) | __arm64_sys_accept4 | false | +| 0xf3 (243) | recvmmsg | (int fd, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct __kernel_timespec *timeout) | __arm64_sys_recvmmsg | false | +| 0x104 (260) | wait4 | (pid_t upid, int *stat_addr, int options, struct rusage *ru) | __arm64_sys_wait4 | true | +| 0x105 (261) | prlimit64 | (pid_t pid, unsigned int resource, const struct rlimit64 *new_rlim, struct rlimit64 *old_rlim) | __arm64_sys_prlimit64 | true | +| 0x106 (262) | fanotify_init | (unsigned int flags, unsigned int event_f_flags) | __arm64_sys_fanotify_init | false | +| 0x107 (263) | fanotify_mark | (int fanotify_fd, unsigned int flags, __u64 mask, int dfd, const char *pathname) | __arm64_sys_fanotify_mark | false | +| 0x108 (264) | name_to_handle_at | (int dfd, const char *name, struct file_handle *handle, void *mnt_id, int flag) | __arm64_sys_name_to_handle_at | false | +| 0x109 (265) | open_by_handle_at | (int mountdirfd, struct file_handle *handle, int flags) | __arm64_sys_open_by_handle_at | false | +| 0x10a (266) | clock_adjtime | (const clockid_t which_clock, struct __kernel_timex *utx) | __arm64_sys_clock_adjtime | false | +| 0x10b (267) | syncfs | (int fd) | __arm64_sys_syncfs | false | +| 0x10c (268) | setns | (int fd, int flags) | __arm64_sys_setns | false | +| 0x10d (269) | sendmmsg | (int fd, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags) | __arm64_sys_sendmmsg | false | +| 0x10e (270) | process_vm_readv | (pid_t pid, const struct iovec *lvec, unsigned long liovcnt, const struct iovec *rvec, unsigned long riovcnt, unsigned long flags) | __arm64_sys_process_vm_readv | false | +| 0x10f (271) | process_vm_writev | (pid_t pid, const struct iovec *lvec, unsigned long liovcnt, const struct iovec *rvec, unsigned long riovcnt, unsigned long flags) | __arm64_sys_process_vm_writev | false | +| 0x110 (272) | kcmp | (pid_t pid1, pid_t pid2, int type, unsigned long idx1, unsigned long idx2) | __arm64_sys_kcmp | false | +| 0x111 (273) | finit_module | (int fd, const char *uargs, int flags) | __arm64_sys_finit_module | false | +| 0x112 (274) | sched_setattr | (pid_t pid, struct sched_attr *uattr, unsigned int flags) | __arm64_sys_sched_setattr | false | +| 0x113 (275) | sched_getattr | (pid_t pid, struct sched_attr *uattr, unsigned int usize, unsigned int flags) | __arm64_sys_sched_getattr | false | +| 0x114 (276) | renameat2 | (int olddfd, const char *oldname, int newdfd, const char *newname, unsigned int flags) | __arm64_sys_renameat2 | false | +| 0x115 (277) | seccomp | (unsigned int op, unsigned int flags, void *uargs) | __arm64_sys_seccomp | false | +| 0x116 (278) | getrandom | (char *ubuf, size_t len, unsigned int flags) | __arm64_sys_getrandom | false | +| 0x117 (279) | memfd_create | (const char *uname, unsigned int flags) | __arm64_sys_memfd_create | false | +| 0x118 (280) | bpf | (int cmd, union bpf_attr *uattr, unsigned int size) | __arm64_sys_bpf | false | +| 0x119 (281) | execveat | (int fd, const char *filename, const char *const *argv, const char *const *envp, int flags) | __arm64_sys_execveat | false | +| 0x11a (282) | userfaultfd | (int flags) | __arm64_sys_userfaultfd | false | +| 0x11b (283) | membarrier | (int cmd, unsigned int flags, int cpu_id) | __arm64_sys_membarrier | false | +| 0x11c (284) | mlock2 | (unsigned long start, size_t len, int flags) | __arm64_sys_mlock2 | false | +| 0x11d (285) | copy_file_range | (int fd_in, loff_t *off_in, int fd_out, loff_t *off_out, size_t len, unsigned int flags) | __arm64_sys_copy_file_range | false | +| 0x11e (286) | preadv2 | (unsigned long fd, const struct iovec *vec, unsigned long vlen, unsigned long pos_l, unsigned long pos_h, rwf_t flags) | __arm64_sys_preadv2 | false | +| 0x11f (287) | pwritev2 | (unsigned long fd, const struct iovec *vec, unsigned long vlen, unsigned long pos_l, unsigned long pos_h, rwf_t flags) | __arm64_sys_pwritev2 | false | +| 0x120 (288) | pkey_mprotect | (unsigned long start, size_t len, unsigned long prot, int pkey) | __arm64_sys_pkey_mprotect | false | +| 0x121 (289) | pkey_alloc | (unsigned long flags, unsigned long init_val) | __arm64_sys_pkey_alloc | false | +| 0x122 (290) | pkey_free | (int pkey) | __arm64_sys_pkey_free | false | +| 0x123 (291) | statx | (int dfd, const char *filename, unsigned flags, unsigned int mask, struct statx *buffer) | __arm64_sys_statx | false | +| 0x124 (292) | io_pgetevents | (aio_context_t ctx_id, long min_nr, long nr, struct io_event *events, struct __kernel_timespec *timeout, const struct __aio_sigset *usig) | __arm64_sys_io_pgetevents | false | +| 0x125 (293) | rseq | (struct rseq *rseq, u32 rseq_len, int flags, u32 sig) | __arm64_sys_rseq | false | +| 0x126 (294) | kexec_file_load | (int kernel_fd, int initrd_fd, unsigned long cmdline_len, const char *cmdline_ptr, unsigned long flags) | __arm64_sys_kexec_file_load | false | +| 0x1a8 (424) | pidfd_send_signal | (int pidfd, int sig, siginfo_t *info, unsigned int flags) | __arm64_sys_pidfd_send_signal | false | +| 0x1a9 (425) | io_uring_setup | (u32 entries, struct io_uring_params *params) | __arm64_sys_io_uring_setup | false | +| 0x1aa (426) | io_uring_enter | (unsigned int fd, u32 to_submit, u32 min_complete, u32 flags, const void *argp, size_t argsz) | __arm64_sys_io_uring_enter | false | +| 0x1ab (427) | io_uring_register | (unsigned int fd, unsigned int opcode, void *arg, unsigned int nr_args) | __arm64_sys_io_uring_register | false | +| 0x1ac (428) | open_tree | (int dfd, const char *filename, unsigned flags) | __arm64_sys_open_tree | false | +| 0x1ad (429) | move_mount | (int from_dfd, const char *from_pathname, int to_dfd, const char *to_pathname, unsigned int flags) | __arm64_sys_move_mount | false | +| 0x1ae (430) | fsopen | (const char *_fs_name, unsigned int flags) | __arm64_sys_fsopen | false | +| 0x1af (431) | fsconfig | (int fd, unsigned int cmd, const char *_key, const void *_value, int aux) | __arm64_sys_fsconfig | false | +| 0x1b0 (432) | fsmount | (int fs_fd, unsigned int flags, unsigned int attr_flags) | __arm64_sys_fsmount | false | +| 0x1b1 (433) | fspick | (int dfd, const char *path, unsigned int flags) | __arm64_sys_fspick | false | +| 0x1b2 (434) | pidfd_open | (pid_t pid, unsigned int flags) | __arm64_sys_pidfd_open | false | +| 0x1b3 (435) | clone3 | (struct clone_args *uargs, size_t size) | __arm64_sys_clone3 | false | +| 0x1b4 (436) | close_range | (unsigned int fd, unsigned int max_fd, unsigned int flags) | __arm64_sys_close_range | false | +| 0x1b5 (437) | openat2 | (int dfd, const char *filename, struct open_how *how, size_t usize) | __arm64_sys_openat2 | false | +| 0x1b6 (438) | pidfd_getfd | (int pidfd, int fd, unsigned int flags) | __arm64_sys_pidfd_getfd | false | +| 0x1b7 (439) | faccessat2 | (int dfd, const char *filename, int mode, int flags) | __arm64_sys_faccessat2 | true | +| 0x1b8 (440) | process_madvise | (int pidfd, const struct iovec *vec, size_t vlen, int behavior, unsigned int flags) | __arm64_sys_process_madvise | false | +| 0x1b9 (441) | epoll_pwait2 | (int epfd, struct epoll_event *events, int maxevents, const struct __kernel_timespec *timeout, const sigset_t *sigmask, size_t sigsetsize) | __arm64_sys_epoll_pwait2 | false | +| 0x1ba (442) | mount_setattr | (int dfd, const char *path, unsigned int flags, struct mount_attr *uattr, size_t usize) | __arm64_sys_mount_setattr | false | +| 0x1bb (443) | quotactl_fd | (unsigned int fd, unsigned int cmd, qid_t id, void *addr) | __arm64_sys_quotactl_fd | false | +| 0x1bc (444) | landlock_create_ruleset | (const struct landlock_ruleset_attr *const attr, const size_t size, const __u32 flags) | __arm64_sys_landlock_create_ruleset | false | +| 0x1bd (445) | landlock_add_rule | (const int ruleset_fd, const enum landlock_rule_type rule_type, const void *const rule_attr, const __u32 flags) | __arm64_sys_landlock_add_rule | false | +| 0x1be (446) | landlock_restrict_self | (const int ruleset_fd, const __u32 flags) | __arm64_sys_landlock_restrict_self | false | +| 0x1bf (447) | memfd_secret | (unsigned int flags) | __arm64_sys_memfd_secret | false | +| 0x1c0 (448) | process_mrelease | (int pidfd, unsigned int flags) | __arm64_sys_process_mrelease | false | +| 0x1c1 (449) | futex_waitv | (struct futex_waitv *waiters, unsigned int nr_futexes, unsigned int flags, struct __kernel_timespec *timeout, clockid_t clockid) | __arm64_sys_futex_waitv | false | +| 0x1c2 (450) | set_mempolicy_home_node | (unsigned long start, unsigned long len, unsigned long home_node, unsigned long flags) | __arm64_sys_set_mempolicy_home_node | false | +| 0x1c3 (451) | cachestat | (unsigned int fd, struct cachestat_range *cstat_range, struct cachestat *cstat, unsigned int flags) | __arm64_sys_cachestat | false | +| 0x1c4 (452) | fchmodat2 | (int dfd, const char *filename, umode_t mode, unsigned int flags) | __arm64_sys_fchmodat2 | false | +| 0x1c5 (453) | map_shadow_stack | (unsigned long addr, unsigned long size, unsigned int flags) | __arm64_sys_map_shadow_stack | false | +| 0x1c6 (454) | futex_wake | (void *uaddr, unsigned long mask, int nr, unsigned int flags) | __arm64_sys_futex_wake | false | +| 0x1c7 (455) | futex_wait | (void *uaddr, unsigned long val, unsigned long mask, unsigned int flags, struct __kernel_timespec *timeout, clockid_t clockid) | __arm64_sys_futex_wait | false | +| 0x1c8 (456) | futex_requeue | (struct futex_waitv *waiters, unsigned int flags, int nr_wake, int nr_requeue) | __arm64_sys_futex_requeue | false | +| 0x1c9 (457) | statmount | (const struct mnt_id_req *req, struct statmount *buf, size_t bufsize, unsigned int flags) | __arm64_sys_statmount | false | +| 0x1ca (458) | listmount | (const struct mnt_id_req *req, u64 *mnt_ids, size_t nr_mnt_ids, unsigned int flags) | __arm64_sys_listmount | false | +| 0x1cb (459) | lsm_get_self_attr | (unsigned int attr, struct lsm_ctx *ctx, u32 *size, u32 flags) | __arm64_sys_lsm_get_self_attr | false | +| 0x1cc (460) | lsm_set_self_attr | (unsigned int attr, struct lsm_ctx *ctx, u32 size, u32 flags) | __arm64_sys_lsm_set_self_attr | false | +| 0x1cd (461) | lsm_list_modules | (u64 *ids, u32 *size, u32 flags) | __arm64_sys_lsm_list_modules | false | +| 0x1ce (462) | mseal | (unsigned long start, size_t len, unsigned long flags) | __arm64_sys_mseal | false | +| 0x1cf (463) | setxattrat | (int dfd, const char *pathname, unsigned int at_flags, const char *name, const struct xattr_args *uargs, size_t usize) | __arm64_sys_setxattrat | false | +| 0x1d0 (464) | getxattrat | (int dfd, const char *pathname, unsigned int at_flags, const char *name, struct xattr_args *uargs, size_t usize) | __arm64_sys_getxattrat | false | +| 0x1d1 (465) | listxattrat | (int dfd, const char *pathname, unsigned int at_flags, char *list, size_t size) | __arm64_sys_listxattrat | false | +| 0x1d2 (466) | removexattrat | (int dfd, const char *pathname, unsigned int at_flags, const char *name) | __arm64_sys_removexattrat | false | +| 0x1d3 (467) | open_tree_attr | (int dfd, const char *filename, unsigned flags, struct mount_attr *uattr, size_t usize) | __arm64_sys_open_tree_attr | false | +| 0x1d4 (468) | file_getattr | (int dfd, const char *filename, struct file_attr *ufattr, size_t usize, unsigned int at_flags) | __arm64_sys_file_getattr | false | +| 0x1d5 (469) | file_setattr | (int dfd, const char *filename, struct file_attr *ufattr, size_t usize, unsigned int at_flags) | __arm64_sys_file_setattr | false |