riscv64 system calls
Put the syscall number in a7 and the arguments in a0 a1 a2 a3 a4 a5, then run ecall. The result comes back in a0.
| NR | HEX | NAME | ARG0 a0 | ARG1 a1 | ARG2 a2 | ARG3 a3 | ARG4 a4 | ARG5 a5 |
|---|---|---|---|---|---|---|---|---|
| 0 | 0x0 | io_setup | unsigned nr_events | aio_context_t *ctxp | - | - | - | - |
| 1 | 0x1 | io_destroy | aio_context_t ctx | - | - | - | - | - |
| 2 | 0x2 | io_submit | aio_context_t ctx_id | long nr | struct iocb * *iocbpp | - | - | - |
| 3 | 0x3 | io_cancel | aio_context_t ctx_id | struct iocb *iocb | struct io_event *result | - | - | - |
| 4 | 0x4 | io_getevents | aio_context_t ctx_id | long min_nr | long nr | struct io_event *events | struct __kernel_timespec *timeout | - |
| 5 | 0x5 | setxattr | const char *path | const char *name | const void *value | size_t size | int flags | - |
| 6 | 0x6 | lsetxattr | const char *path | const char *name | const void *value | size_t size | int flags | - |
| 7 | 0x7 | fsetxattr | int fd | const char *name | const void *value | size_t size | int flags | - |
| 8 | 0x8 | getxattr | const char *path | const char *name | void *value | size_t size | - | - |
| 9 | 0x9 | lgetxattr | const char *path | const char *name | void *value | size_t size | - | - |
| 10 | 0xa | fgetxattr | int fd | const char *name | void *value | size_t size | - | - |
| 11 | 0xb | listxattr | const char *path | char *list | size_t size | - | - | - |
| 12 | 0xc | llistxattr | const char *path | char *list | size_t size | - | - | - |
| 13 | 0xd | flistxattr | int fd | char *list | size_t size | - | - | - |
| 14 | 0xe | removexattr | const char *path | const char *name | - | - | - | - |
| 15 | 0xf | lremovexattr | const char *path | const char *name | - | - | - | - |
| 16 | 0x10 | fremovexattr | int fd | const char *name | - | - | - | - |
| 17 | 0x11 | getcwd | char *buf | unsigned long size | - | - | - | - |
| 19 | 0x13 | eventfd2 | unsigned int count | int flags | - | - | - | - |
| 20 | 0x14 | epoll_create1 | int flags | - | - | - | - | - |
| 21 | 0x15 | epoll_ctl | int epfd | int op | int fd | struct epoll_event *event | - | - |
| 22 | 0x16 | epoll_pwait | int epfd | struct epoll_event *events | int maxevents | int timeout | const sigset_t *sigmask | size_t sigsetsize |
| 23 | 0x17 | dup | unsigned int fildes | - | - | - | - | - |
| 24 | 0x18 | dup3 | unsigned int oldfd | unsigned int newfd | int flags | - | - | - |
| 25 | 0x19 | fcntl | unsigned int fd | unsigned int cmd | unsigned long arg | - | - | - |
| 26 | 0x1a | inotify_init1 | int flags | - | - | - | - | - |
| 27 | 0x1b | inotify_add_watch | int fd | const char *path | u32 mask | - | - | - |
| 28 | 0x1c | inotify_rm_watch | int fd | __s32 wd | - | - | - | - |
| 29 | 0x1d | ioctl | unsigned int fd | unsigned int cmd | unsigned long arg | - | - | - |
| 30 | 0x1e | ioprio_set | int which | int who | int ioprio | - | - | - |
| 31 | 0x1f | ioprio_get | int which | int who | - | - | - | - |
| 32 | 0x20 | flock | unsigned int fd | unsigned int cmd | - | - | - | - |
| 33 | 0x21 | mknodat | int dfd | const char *filename | umode_t mode | unsigned dev | - | - |
| 34 | 0x22 | mkdirat | int dfd | const char *pathname | umode_t mode | - | - | - |
| 35 | 0x23 | unlinkat | int dfd | const char *pathname | int flag | - | - | - |
| 36 | 0x24 | symlinkat | const char *oldname | int newdfd | const char *newname | - | - | - |
| 37 | 0x25 | linkat | int olddfd | const char *oldname | int newdfd | const char *newname | int flags | - |
| 39 | 0x27 | umount2 | char *name | int flags | - | - | - | - |
| 40 | 0x28 | mount | char *dev_name | char *dir_name | char *type | unsigned long flags | void *data | - |
| 41 | 0x29 | pivot_root | const char *new_root | const char *put_old | - | - | - | - |
| 43 | 0x2b | statfs | const char *path | struct statfs *buf | - | - | - | - |
| 44 | 0x2c | fstatfs | unsigned int fd | struct statfs *buf | - | - | - | - |
| 45 | 0x2d | truncate | const char *path | long length | - | - | - | - |
| 46 | 0x2e | ftruncate | unsigned int fd | off_t length | - | - | - | - |
| 47 | 0x2f | fallocate | int fd | int mode | loff_t offset | loff_t len | - | - |
| 48 | 0x30 | faccessat | int dfd | const char *filename | int mode | - | - | - |
| 49 | 0x31 | chdir | const char *filename | - | - | - | - | - |
| 50 | 0x32 | fchdir | unsigned int fd | - | - | - | - | - |
| 51 | 0x33 | chroot | const char *filename | - | - | - | - | - |
| 52 | 0x34 | fchmod | unsigned int fd | umode_t mode | - | - | - | - |
| 53 | 0x35 | fchmodat | int dfd | const char *filename | umode_t mode | - | - | - |
| 54 | 0x36 | fchownat | int dfd | const char *filename | uid_t user | gid_t group | int flag | - |
| 55 | 0x37 | fchown | unsigned int fd | uid_t user | gid_t group | - | - | - |
| 56 | 0x38 | openat | int dfd | const char *filename | int flags | umode_t mode | - | - |
| 57 | 0x39 | close | unsigned int fd | - | - | - | - | - |
| 58 | 0x3a | vhangup | - | - | - | - | - | - |
| 59 | 0x3b | pipe2 | int *fildes | int flags | - | - | - | - |
| 60 | 0x3c | quotactl | unsigned int cmd | const char *special | qid_t id | void *addr | - | - |
| 61 | 0x3d | getdents64 | unsigned int fd | struct linux_dirent64 *dirent | unsigned int count | - | - | - |
| 62 | 0x3e | lseek | unsigned int fd | off_t offset | unsigned int whence | - | - | - |
| 63 | 0x3f | read | unsigned int fd | char *buf | size_t count | - | - | - |
| 64 | 0x40 | write | unsigned int fd | const char *buf | size_t count | - | - | - |
| 65 | 0x41 | readv | unsigned long fd | const struct iovec *vec | unsigned long vlen | - | - | - |
| 66 | 0x42 | writev | unsigned long fd | const struct iovec *vec | unsigned long vlen | - | - | - |
| 67 | 0x43 | pread64 | unsigned int fd | char *buf | size_t count | loff_t pos | - | - |
| 68 | 0x44 | pwrite64 | unsigned int fd | const char *buf | size_t count | loff_t pos | - | - |
| 69 | 0x45 | preadv | unsigned long fd | const struct iovec *vec | unsigned long vlen | unsigned long pos_l | unsigned long pos_h | - |
| 70 | 0x46 | pwritev | unsigned long fd | const struct iovec *vec | unsigned long vlen | unsigned long pos_l | unsigned long pos_h | - |
| 71 | 0x47 | sendfile | int out_fd | int in_fd | loff_t *offset | size_t count | - | - |
| 72 | 0x48 | pselect6 | int n | fd_set *inp | fd_set *outp | fd_set *exp | struct __kernel_timespec *tsp | void *sig |
| 73 | 0x49 | ppoll | struct pollfd *ufds | unsigned int nfds | struct __kernel_timespec *tsp | const sigset_t *sigmask | size_t sigsetsize | - |
| 74 | 0x4a | signalfd4 | int ufd | sigset_t *user_mask | size_t sizemask | int flags | - | - |
| 75 | 0x4b | vmsplice | int fd | const struct iovec *iov | unsigned long nr_segs | unsigned int flags | - | - |
| 76 | 0x4c | splice | int fd_in | loff_t *off_in | int fd_out | loff_t *off_out | size_t len | unsigned int flags |
| 77 | 0x4d | tee | int fdin | int fdout | size_t len | unsigned int flags | - | - |
| 78 | 0x4e | readlinkat | int dfd | const char *path | char *buf | int bufsiz | - | - |
| 79 | 0x4f | newfstatat | int dfd | const char *filename | struct stat *statbuf | int flag | - | - |
| 80 | 0x50 | fstat | unsigned int fd | struct stat *statbuf | - | - | - | - |
| 81 | 0x51 | sync | - | - | - | - | - | - |
| 82 | 0x52 | fsync | unsigned int fd | - | - | - | - | - |
| 83 | 0x53 | fdatasync | unsigned int fd | - | - | - | - | - |
| 84 | 0x54 | sync_file_range | int fd | loff_t offset | loff_t nbytes | unsigned int flags | - | - |
| 85 | 0x55 | timerfd_create | int clockid | int flags | - | - | - | - |
| 86 | 0x56 | timerfd_settime | int ufd | int flags | const struct __kernel_itimerspec *utmr | struct __kernel_itimerspec *otmr | - | - |
| 87 | 0x57 | timerfd_gettime | int ufd | struct __kernel_itimerspec *otmr | - | - | - | - |
| 88 | 0x58 | utimensat | int dfd | const char *filename | struct __kernel_timespec *utimes | int flags | - | - |
| 89 | 0x59 | acct | const char *name | - | - | - | - | - |
| 90 | 0x5a | capget | cap_user_header_t header | cap_user_data_t dataptr | - | - | - | - |
| 91 | 0x5b | capset | cap_user_header_t header | const cap_user_data_t data | - | - | - | - |
| 92 | 0x5c | personality | unsigned int personality | - | - | - | - | - |
| 93 | 0x5d | exit | int error_code | - | - | - | - | - |
| 94 | 0x5e | exit_group | int error_code | - | - | - | - | - |
| 95 | 0x5f | waitid | int which | pid_t pid | struct siginfo *infop | int options | struct rusage *ru | - |
| 96 | 0x60 | set_tid_address | int *tidptr | - | - | - | - | - |
| 97 | 0x61 | unshare | unsigned long unshare_flags | - | - | - | - | - |
| 98 | 0x62 | futex | u32 *uaddr | int op | u32 val | const struct __kernel_timespec *utime | u32 *uaddr2 | u32 val3 |
| 99 | 0x63 | set_robust_list | struct robust_list_head *head | size_t len | - | - | - | - |
| 100 | 0x64 | get_robust_list | int pid | struct robust_list_head * *head_ptr | size_t *len_ptr | - | - | - |
| 101 | 0x65 | nanosleep | struct __kernel_timespec *rqtp | struct __kernel_timespec *rmtp | - | - | - | - |
| 102 | 0x66 | getitimer | int which | struct __kernel_old_itimerval *value | - | - | - | - |
| 103 | 0x67 | setitimer | int which | struct __kernel_old_itimerval *value | struct __kernel_old_itimerval *ovalue | - | - | - |
| 104 | 0x68 | kexec_load | unsigned long entry | unsigned long nr_segments | struct kexec_segment *segments | unsigned long flags | - | - |
| 105 | 0x69 | init_module | void *umod | unsigned long len | const char *uargs | - | - | - |
| 106 | 0x6a | delete_module | const char *name_user | unsigned int flags | - | - | - | - |
| 107 | 0x6b | timer_create | clockid_t which_clock | struct sigevent *timer_event_spec | timer_t *created_timer_id | - | - | - |
| 108 | 0x6c | timer_gettime | timer_t timer_id | struct __kernel_itimerspec *setting | - | - | - | - |
| 109 | 0x6d | timer_getoverrun | timer_t timer_id | - | - | - | - | - |
| 110 | 0x6e | timer_settime | timer_t timer_id | int flags | const struct __kernel_itimerspec *new_setting | struct __kernel_itimerspec *old_setting | - | - |
| 111 | 0x6f | timer_delete | timer_t timer_id | - | - | - | - | - |
| 112 | 0x70 | clock_settime | clockid_t which_clock | const struct __kernel_timespec *tp | - | - | - | - |
| 113 | 0x71 | clock_gettime | clockid_t which_clock | struct __kernel_timespec *tp | - | - | - | - |
| 114 | 0x72 | clock_getres | clockid_t which_clock | struct __kernel_timespec *tp | - | - | - | - |
| 115 | 0x73 | clock_nanosleep | clockid_t which_clock | int flags | const struct __kernel_timespec *rqtp | struct __kernel_timespec *rmtp | - | - |
| 116 | 0x74 | syslog | int type | char *buf | int len | - | - | - |
| 117 | 0x75 | ptrace | long request | long pid | unsigned long addr | unsigned long data | - | - |
| 118 | 0x76 | sched_setparam | pid_t pid | struct sched_param *param | - | - | - | - |
| 119 | 0x77 | sched_setscheduler | pid_t pid | int policy | struct sched_param *param | - | - | - |
| 120 | 0x78 | sched_getscheduler | pid_t pid | - | - | - | - | - |
| 121 | 0x79 | sched_getparam | pid_t pid | struct sched_param *param | - | - | - | - |
| 122 | 0x7a | sched_setaffinity | pid_t pid | unsigned int len | unsigned long *user_mask_ptr | - | - | - |
| 123 | 0x7b | sched_getaffinity | pid_t pid | unsigned int len | unsigned long *user_mask_ptr | - | - | - |
| 124 | 0x7c | sched_yield | - | - | - | - | - | - |
| 125 | 0x7d | sched_get_priority_max | int policy | - | - | - | - | - |
| 126 | 0x7e | sched_get_priority_min | int policy | - | - | - | - | - |
| 127 | 0x7f | sched_rr_get_interval | pid_t pid | struct __kernel_timespec *interval | - | - | - | - |
| 128 | 0x80 | restart_syscall | - | - | - | - | - | - |
| 129 | 0x81 | kill | pid_t pid | int sig | - | - | - | - |
| 130 | 0x82 | tkill | pid_t pid | int sig | - | - | - | - |
| 131 | 0x83 | tgkill | pid_t tgid | pid_t pid | int sig | - | - | - |
| 132 | 0x84 | sigaltstack | const stack_t *uss | stack_t *uoss | - | - | - | - |
| 133 | 0x85 | rt_sigsuspend | sigset_t *unewset | size_t sigsetsize | - | - | - | - |
| 134 | 0x86 | rt_sigaction | int sig | const struct sigaction *act | struct sigaction *oact | size_t sigsetsize | - | - |
| 135 | 0x87 | rt_sigprocmask | int how | sigset_t *nset | sigset_t *oset | size_t sigsetsize | - | - |
| 136 | 0x88 | rt_sigpending | sigset_t *uset | size_t sigsetsize | - | - | - | - |
| 137 | 0x89 | rt_sigtimedwait | const sigset_t *uthese | siginfo_t *uinfo | const struct __kernel_timespec *uts | size_t sigsetsize | - | - |
| 138 | 0x8a | rt_sigqueueinfo | pid_t pid | int sig | siginfo_t *uinfo | - | - | - |
| 139 | 0x8b | rt_sigreturn | - | - | - | - | - | - |
| 140 | 0x8c | setpriority | int which | int who | int niceval | - | - | - |
| 141 | 0x8d | getpriority | int which | int who | - | - | - | - |
| 142 | 0x8e | reboot | int magic1 | int magic2 | unsigned int cmd | void *arg | - | - |
| 143 | 0x8f | setregid | gid_t rgid | gid_t egid | - | - | - | - |
| 144 | 0x90 | setgid | gid_t gid | - | - | - | - | - |
| 145 | 0x91 | setreuid | uid_t ruid | uid_t euid | - | - | - | - |
| 146 | 0x92 | setuid | uid_t uid | - | - | - | - | - |
| 147 | 0x93 | setresuid | uid_t ruid | uid_t euid | uid_t suid | - | - | - |
| 148 | 0x94 | getresuid | uid_t *ruid | uid_t *euid | uid_t *suid | - | - | - |
| 149 | 0x95 | setresgid | gid_t rgid | gid_t egid | gid_t sgid | - | - | - |
| 150 | 0x96 | getresgid | gid_t *rgid | gid_t *egid | gid_t *sgid | - | - | - |
| 151 | 0x97 | setfsuid | uid_t uid | - | - | - | - | - |
| 152 | 0x98 | setfsgid | gid_t gid | - | - | - | - | - |
| 153 | 0x99 | times | struct tms *tbuf | - | - | - | - | - |
| 154 | 0x9a | setpgid | pid_t pid | pid_t pgid | - | - | - | - |
| 155 | 0x9b | getpgid | pid_t pid | - | - | - | - | - |
| 156 | 0x9c | getsid | pid_t pid | - | - | - | - | - |
| 157 | 0x9d | setsid | - | - | - | - | - | - |
| 158 | 0x9e | getgroups | int gidsetsize | gid_t *grouplist | - | - | - | - |
| 159 | 0x9f | setgroups | int gidsetsize | gid_t *grouplist | - | - | - | - |
| 160 | 0xa0 | uname | struct new_utsname *name | - | - | - | - | - |
| 161 | 0xa1 | sethostname | char *name | int len | - | - | - | - |
| 162 | 0xa2 | setdomainname | char *name | int len | - | - | - | - |
| 163 | 0xa3 | getrlimit | unsigned int resource | struct rlimit *rlim | - | - | - | - |
| 164 | 0xa4 | setrlimit | unsigned int resource | struct rlimit *rlim | - | - | - | - |
| 165 | 0xa5 | getrusage | int who | struct rusage *ru | - | - | - | - |
| 166 | 0xa6 | umask | int mask | - | - | - | - | - |
| 167 | 0xa7 | prctl | int option | unsigned long arg2 | unsigned long arg3 | unsigned long arg4 | unsigned long arg5 | - |
| 168 | 0xa8 | getcpu | unsigned *cpup | unsigned *nodep | void *unused | - | - | - |
| 169 | 0xa9 | gettimeofday | struct __kernel_old_timeval *tv | struct timezone *tz | - | - | - | - |
| 170 | 0xaa | settimeofday | struct __kernel_old_timeval *tv | struct timezone *tz | - | - | - | - |
| 171 | 0xab | adjtimex | struct __kernel_timex *txc_p | - | - | - | - | - |
| 172 | 0xac | getpid | - | - | - | - | - | - |
| 173 | 0xad | getppid | - | - | - | - | - | - |
| 174 | 0xae | getuid | - | - | - | - | - | - |
| 175 | 0xaf | geteuid | - | - | - | - | - | - |
| 176 | 0xb0 | getgid | - | - | - | - | - | - |
| 177 | 0xb1 | getegid | - | - | - | - | - | - |
| 178 | 0xb2 | gettid | - | - | - | - | - | - |
| 179 | 0xb3 | sysinfo | struct sysinfo *info | - | - | - | - | - |
| 180 | 0xb4 | mq_open | const char *name | int oflag | umode_t mode | struct mq_attr *attr | - | - |
| 181 | 0xb5 | mq_unlink | const char *name | - | - | - | - | - |
| 182 | 0xb6 | mq_timedsend | mqd_t mqdes | const char *msg_ptr | size_t msg_len | unsigned int msg_prio | const struct __kernel_timespec *abs_timeout | - |
| 183 | 0xb7 | mq_timedreceive | mqd_t mqdes | char *msg_ptr | size_t msg_len | unsigned int *msg_prio | const struct __kernel_timespec *abs_timeout | - |
| 184 | 0xb8 | mq_notify | mqd_t mqdes | const struct sigevent *notification | - | - | - | - |
| 185 | 0xb9 | mq_getsetattr | mqd_t mqdes | const struct mq_attr *mqstat | struct mq_attr *omqstat | - | - | - |
| 186 | 0xba | msgget | key_t key | int msgflg | - | - | - | - |
| 187 | 0xbb | msgctl | int msqid | int cmd | struct msqid_ds *buf | - | - | - |
| 188 | 0xbc | msgrcv | int msqid | struct msgbuf *msgp | size_t msgsz | long msgtyp | int msgflg | - |
| 189 | 0xbd | msgsnd | int msqid | struct msgbuf *msgp | size_t msgsz | int msgflg | - | - |
| 190 | 0xbe | semget | key_t key | int nsems | int semflg | - | - | - |
| 191 | 0xbf | semctl | int semid | int semnum | int cmd | unsigned long arg | - | - |
| 192 | 0xc0 | semtimedop | int semid | struct sembuf *sops | unsigned nsops | const struct __kernel_timespec *timeout | - | - |
| 193 | 0xc1 | semop | int semid | struct sembuf *sops | unsigned nsops | - | - | - |
| 194 | 0xc2 | shmget | key_t key | size_t size | int flag | - | - | - |
| 195 | 0xc3 | shmctl | int shmid | int cmd | struct shmid_ds *buf | - | - | - |
| 196 | 0xc4 | shmat | int shmid | char *shmaddr | int shmflg | - | - | - |
| 197 | 0xc5 | shmdt | char *shmaddr | - | - | - | - | - |
| 198 | 0xc6 | socket | int family | int type | int protocol | - | - | - |
| 199 | 0xc7 | socketpair | int family | int type | int protocol | int *usockvec | - | - |
| 200 | 0xc8 | bind | int fd | struct sockaddr *umyaddr | int addrlen | - | - | - |
| 201 | 0xc9 | listen | int fd | int backlog | - | - | - | - |
| 202 | 0xca | accept | int fd | struct sockaddr *upeer_sockaddr | int *upeer_addrlen | - | - | - |
| 203 | 0xcb | connect | int fd | struct sockaddr *uservaddr | int addrlen | - | - | - |
| 204 | 0xcc | getsockname | int fd | struct sockaddr *usockaddr | int *usockaddr_len | - | - | - |
| 205 | 0xcd | getpeername | int fd | struct sockaddr *usockaddr | int *usockaddr_len | - | - | - |
| 206 | 0xce | sendto | int fd | void *buff | size_t len | unsigned int flags | struct sockaddr *addr | int addr_len |
| 207 | 0xcf | recvfrom | int fd | void *ubuf | size_t size | unsigned int flags | struct sockaddr *addr | int *addr_len |
| 208 | 0xd0 | setsockopt | int fd | int level | int optname | char *optval | int optlen | - |
| 209 | 0xd1 | getsockopt | int fd | int level | int optname | char *optval | int *optlen | - |
| 210 | 0xd2 | shutdown | int fd | int how | - | - | - | - |
| 211 | 0xd3 | sendmsg | int fd | struct user_msghdr *msg | unsigned int flags | - | - | - |
| 212 | 0xd4 | recvmsg | int fd | struct user_msghdr *msg | unsigned int flags | - | - | - |
| 213 | 0xd5 | readahead | int fd | loff_t offset | size_t count | - | - | - |
| 214 | 0xd6 | brk | unsigned long brk | - | - | - | - | - |
| 215 | 0xd7 | munmap | unsigned long addr | size_t len | - | - | - | - |
| 216 | 0xd8 | mremap | unsigned long addr | unsigned long old_len | unsigned long new_len | unsigned long flags | unsigned long new_addr | - |
| 217 | 0xd9 | add_key | const char *_type | const char *_description | const void *_payload | size_t plen | key_serial_t destringid | - |
| 218 | 0xda | request_key | const char *_type | const char *_description | const char *_callout_info | key_serial_t destringid | - | - |
| 219 | 0xdb | keyctl | int cmd | unsigned long arg2 | unsigned long arg3 | unsigned long arg4 | unsigned long arg5 | - |
| 220 | 0xdc | clone | unsigned long clone_flags | unsigned long newsp | int *parent_tidptr | unsigned long tls | int *child_tidptr | - |
| 221 | 0xdd | execve | const char *filename | const char *const *argv | const char *const *envp | - | - | - |
| 222 | 0xde | mmap | unsigned long addr | unsigned long len | unsigned long prot | unsigned long flags | unsigned long fd | unsigned long offset |
| 223 | 0xdf | fadvise64 | int fd | loff_t offset | loff_t len | int advice | - | - |
| 224 | 0xe0 | swapon | const char *specialfile | int swap_flags | - | - | - | - |
| 225 | 0xe1 | swapoff | const char *specialfile | - | - | - | - | - |
| 226 | 0xe2 | mprotect | unsigned long start | size_t len | unsigned long prot | - | - | - |
| 227 | 0xe3 | msync | unsigned long start | size_t len | int flags | - | - | - |
| 228 | 0xe4 | mlock | unsigned long start | size_t len | - | - | - | - |
| 229 | 0xe5 | munlock | unsigned long start | size_t len | - | - | - | - |
| 230 | 0xe6 | mlockall | int flags | - | - | - | - | - |
| 231 | 0xe7 | munlockall | - | - | - | - | - | - |
| 232 | 0xe8 | mincore | unsigned long start | size_t len | unsigned char *vec | - | - | - |
| 233 | 0xe9 | madvise | unsigned long start | size_t len | int behavior | - | - | - |
| 234 | 0xea | remap_file_pages | unsigned long start | unsigned long size | unsigned long prot | unsigned long pgoff | unsigned long flags | - |
| 235 | 0xeb | mbind | unsigned long start | unsigned long len | unsigned long mode | const unsigned long *nmask | unsigned long maxnode | unsigned flags |
| 236 | 0xec | get_mempolicy | int *policy | unsigned long *nmask | unsigned long maxnode | unsigned long addr | unsigned long flags | - |
| 237 | 0xed | set_mempolicy | int mode | const unsigned long *nmask | unsigned long maxnode | - | - | - |
| 238 | 0xee | migrate_pages | pid_t pid | unsigned long maxnode | const unsigned long *from | const unsigned long *to | - | - |
| 239 | 0xef | move_pages | pid_t pid | unsigned long nr_pages | const void * *pages | const int *nodes | int *status | int flags |
| 240 | 0xf0 | rt_tgsigqueueinfo | pid_t tgid | pid_t pid | int sig | siginfo_t *uinfo | - | - |
| 241 | 0xf1 | perf_event_open | struct perf_event_attr *attr_uptr | pid_t pid | int cpu | int group_fd | unsigned long flags | - |
| 242 | 0xf2 | accept4 | int fd | struct sockaddr *upeer_sockaddr | int *upeer_addrlen | int flags | - | - |
| 243 | 0xf3 | recvmmsg | int fd | struct mmsghdr *mmsg | unsigned int vlen | unsigned int flags | struct __kernel_timespec *timeout | - |
| 258 | 0x102 | riscv_hwprobe | struct riscv_hwprobe *pairs | size_t pair_count | size_t cpusetsize | unsigned long *cpus | unsigned int flags | - |
| 259 | 0x103 | riscv_flush_icache | uintptr_t start | uintptr_t end | uintptr_t flags | - | - | - |
| 260 | 0x104 | wait4 | pid_t pid | int *stat_addr | int options | struct rusage *ru | - | - |
| 261 | 0x105 | prlimit64 | pid_t pid | unsigned int resource | const struct rlimit64 *new_rlim | struct rlimit64 *old_rlim | - | - |
| 262 | 0x106 | fanotify_init | unsigned int flags | unsigned int event_f_flags | - | - | - | - |
| 263 | 0x107 | fanotify_mark | int fanotify_fd | unsigned int flags | u64 mask | int fd | const char *pathname | - |
| 264 | 0x108 | name_to_handle_at | int dfd | const char *name | struct file_handle *handle | void *mnt_id | int flag | - |
| 265 | 0x109 | open_by_handle_at | int mountdirfd | struct file_handle *handle | int flags | - | - | - |
| 266 | 0x10a | clock_adjtime | clockid_t which_clock | struct __kernel_timex *tx | - | - | - | - |
| 267 | 0x10b | syncfs | int fd | - | - | - | - | - |
| 268 | 0x10c | setns | int fd | int nstype | - | - | - | - |
| 269 | 0x10d | sendmmsg | int fd | struct mmsghdr *mmsg | unsigned int vlen | unsigned int flags | - | - |
| 270 | 0x10e | process_vm_readv | pid_t pid | const struct iovec *lvec | unsigned long liovcnt | const struct iovec *rvec | unsigned long riovcnt | unsigned long flags |
| 271 | 0x10f | process_vm_writev | pid_t pid | const struct iovec *lvec | unsigned long liovcnt | const struct iovec *rvec | unsigned long riovcnt | unsigned long flags |
| 272 | 0x110 | kcmp | pid_t pid1 | pid_t pid2 | int type | unsigned long idx1 | unsigned long idx2 | - |
| 273 | 0x111 | finit_module | int fd | const char *uargs | int flags | - | - | - |
| 274 | 0x112 | sched_setattr | pid_t pid | struct sched_attr *attr | unsigned int flags | - | - | - |
| 275 | 0x113 | sched_getattr | pid_t pid | struct sched_attr *attr | unsigned int size | unsigned int flags | - | - |
| 276 | 0x114 | renameat2 | int olddfd | const char *oldname | int newdfd | const char *newname | unsigned int flags | - |
| 277 | 0x115 | seccomp | unsigned int op | unsigned int flags | void *uargs | - | - | - |
| 278 | 0x116 | getrandom | char *buf | size_t count | unsigned int flags | - | - | - |
| 279 | 0x117 | memfd_create | const char *uname_ptr | unsigned int flags | - | - | - | - |
| 280 | 0x118 | bpf | int cmd | union bpf_attr *attr | unsigned int size | struct bpf_common_attr *attr_common | unsigned int size_common | - |
| 281 | 0x119 | execveat | int dfd | const char *filename | const char *const *argv | const char *const *envp | int flags | - |
| 282 | 0x11a | userfaultfd | int flags | - | - | - | - | - |
| 283 | 0x11b | membarrier | int cmd | unsigned int flags | int cpu_id | - | - | - |
| 284 | 0x11c | mlock2 | unsigned long start | size_t len | int flags | - | - | - |
| 285 | 0x11d | copy_file_range | int fd_in | loff_t *off_in | int fd_out | loff_t *off_out | size_t len | unsigned int flags |
| 286 | 0x11e | preadv2 | unsigned long fd | const struct iovec *vec | unsigned long vlen | unsigned long pos_l | unsigned long pos_h | rwf_t flags |
| 287 | 0x11f | pwritev2 | unsigned long fd | const struct iovec *vec | unsigned long vlen | unsigned long pos_l | unsigned long pos_h | rwf_t flags |
| 288 | 0x120 | pkey_mprotect | unsigned long start | size_t len | unsigned long prot | int pkey | - | - |
| 289 | 0x121 | pkey_alloc | unsigned long flags | unsigned long init_val | - | - | - | - |
| 290 | 0x122 | pkey_free | int pkey | - | - | - | - | - |
| 291 | 0x123 | statx | int dfd | const char *path | unsigned flags | unsigned mask | struct statx *buffer | - |
| 292 | 0x124 | 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 |
| 293 | 0x125 | rseq | struct rseq *rseq | uint32_t rseq_len | int flags | uint32_t sig | - | - |
| 294 | 0x126 | kexec_file_load | int kernel_fd | int initrd_fd | unsigned long cmdline_len | const char *cmdline_ptr | unsigned long flags | - |
| 424 | 0x1a8 | pidfd_send_signal | int pidfd | int sig | siginfo_t *info | unsigned int flags | - | - |
| 425 | 0x1a9 | io_uring_setup | u32 entries | struct io_uring_params *p | - | - | - | - |
| 426 | 0x1aa | io_uring_enter | unsigned int fd | u32 to_submit | u32 min_complete | u32 flags | const void *argp | size_t argsz |
| 427 | 0x1ab | io_uring_register | unsigned int fd | unsigned int op | void *arg | unsigned int nr_args | - | - |
| 428 | 0x1ac | open_tree | int dfd | const char *path | unsigned flags | - | - | - |
| 429 | 0x1ad | move_mount | int from_dfd | const char *from_path | int to_dfd | const char *to_path | unsigned int ms_flags | - |
| 430 | 0x1ae | fsopen | const char *fs_name | unsigned int flags | - | - | - | - |
| 431 | 0x1af | fsconfig | int fs_fd | unsigned int cmd | const char *key | const void *value | int aux | - |
| 432 | 0x1b0 | fsmount | int fs_fd | unsigned int flags | unsigned int ms_flags | - | - | - |
| 433 | 0x1b1 | fspick | int dfd | const char *path | unsigned int flags | - | - | - |
| 434 | 0x1b2 | pidfd_open | pid_t pid | unsigned int flags | - | - | - | - |
| 435 | 0x1b3 | clone3 | struct clone_args *uargs | size_t size | - | - | - | - |
| 436 | 0x1b4 | close_range | unsigned int fd | unsigned int max_fd | unsigned int flags | - | - | - |
| 437 | 0x1b5 | openat2 | int dfd | const char *filename | struct open_how *how | size_t size | - | - |
| 438 | 0x1b6 | pidfd_getfd | int pidfd | int fd | unsigned int flags | - | - | - |
| 439 | 0x1b7 | faccessat2 | int dfd | const char *filename | int mode | int flags | - | - |
| 440 | 0x1b8 | process_madvise | int pidfd | const struct iovec *vec | size_t vlen | int behavior | unsigned int flags | - |
| 441 | 0x1b9 | epoll_pwait2 | int epfd | struct epoll_event *events | int maxevents | const struct __kernel_timespec *timeout | const sigset_t *sigmask | size_t sigsetsize |
| 442 | 0x1ba | mount_setattr | int dfd | const char *path | unsigned int flags | struct mount_attr *uattr | size_t usize | - |
| 443 | 0x1bb | quotactl_fd | unsigned int fd | unsigned int cmd | qid_t id | void *addr | - | - |
| 444 | 0x1bc | landlock_create_ruleset | const struct landlock_ruleset_attr *attr | size_t size | __u32 flags | - | - | - |
| 445 | 0x1bd | landlock_add_rule | int ruleset_fd | enum landlock_rule_type rule_type | const void *rule_attr | __u32 flags | - | - |
| 446 | 0x1be | landlock_restrict_self | int ruleset_fd | __u32 flags | - | - | - | - |
| 447 | 0x1bf | memfd_secret | unsigned int flags | - | - | - | - | - |
| 448 | 0x1c0 | process_mrelease | int pidfd | unsigned int flags | - | - | - | - |
| 449 | 0x1c1 | futex_waitv | struct futex_waitv *waiters | unsigned int nr_futexes | unsigned int flags | struct __kernel_timespec *timeout | clockid_t clockid | - |
| 450 | 0x1c2 | set_mempolicy_home_node | unsigned long start | unsigned long len | unsigned long home_node | unsigned long flags | - | - |
| 451 | 0x1c3 | cachestat | unsigned int fd | struct cachestat_range *cstat_range | struct cachestat *cstat | unsigned int flags | - | - |
| 452 | 0x1c4 | fchmodat2 | int dfd | const char *filename | umode_t mode | unsigned int flags | - | - |
| 453 | 0x1c5 | map_shadow_stack | unsigned long addr | unsigned long size | unsigned int flags | - | - | - |
| 454 | 0x1c6 | futex_wake | void *uaddr | unsigned long mask | int nr | unsigned int flags | - | - |
| 455 | 0x1c7 | futex_wait | void *uaddr | unsigned long val | unsigned long mask | unsigned int flags | struct __kernel_timespec *timespec | clockid_t clockid |
| 456 | 0x1c8 | futex_requeue | struct futex_waitv *waiters | unsigned int flags | int nr_wake | int nr_requeue | - | - |
| 457 | 0x1c9 | statmount | const struct mnt_id_req *req | struct statmount *buf | size_t bufsize | unsigned int flags | - | - |
| 458 | 0x1ca | listmount | const struct mnt_id_req *req | u64 *mnt_ids | size_t nr_mnt_ids | unsigned int flags | - | - |
| 459 | 0x1cb | lsm_get_self_attr | unsigned int attr | struct lsm_ctx *ctx | u32 *size | u32 flags | - | - |
| 460 | 0x1cc | lsm_set_self_attr | unsigned int attr | struct lsm_ctx *ctx | u32 size | u32 flags | - | - |
| 461 | 0x1cd | lsm_list_modules | u64 *ids | u32 *size | u32 flags | - | - | - |
| 462 | 0x1ce | mseal | unsigned long start | size_t len | unsigned long flags | - | - | - |
| 463 | 0x1cf | setxattrat | int dfd | const char *path | unsigned int at_flags | const char *name | const struct xattr_args *args | size_t size |
| 464 | 0x1d0 | getxattrat | int dfd | const char *path | unsigned int at_flags | const char *name | struct xattr_args *args | size_t size |
| 465 | 0x1d1 | listxattrat | int dfd | const char *path | unsigned int at_flags | char *list | size_t size | - |
| 466 | 0x1d2 | removexattrat | int dfd | const char *path | unsigned int at_flags | const char *name | - | - |
| 467 | 0x1d3 | open_tree_attr | int dfd | const char *path | unsigned flags | struct mount_attr *uattr | size_t usize | - |
| 468 | 0x1d4 | file_getattr | int dfd | const char *filename | struct file_attr *attr | size_t usize | unsigned int at_flags | - |
| 469 | 0x1d5 | file_setattr | int dfd | const char *filename | struct file_attr *attr | size_t usize | unsigned int at_flags | - |
| 470 | 0x1d6 | listns | const struct ns_id_req *req | u64 *ns_ids | size_t nr_ns_ids | unsigned int flags | - | - |
| 471 | 0x1d7 | rseq_slice_yield | - | - | - | - | - | - |
| 472 | 0x1d8 | fchroot | int fd | unsigned int flags | - | - | - | - |
Want the raw data? /riscv64/syscalls.json has every riscv64 syscall since Linux 4.15, along with the release it showed up in (since) and the one that dropped it (removed_in).