Skip to content

Commit 11456ae

Browse files
kxxtalindima
authored andcommitted
Update syscall table for riscv64
Signed-off-by: Levi Zim <[email protected]>
1 parent 58c5e94 commit 11456ae

File tree

2 files changed

+316
-0
lines changed

2 files changed

+316
-0
lines changed

src/syscall_table/mod.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// SPDX-License-Identifier: Apache-2.0 OR BSD-3-Clause
33

44
mod aarch64;
5+
mod riscv64;
56
mod x86_64;
67

78
use crate::backend::TargetArch;
@@ -19,6 +20,7 @@ impl SyscallTable {
1920
map: match arch {
2021
TargetArch::aarch64 => aarch64::make_syscall_table(),
2122
TargetArch::x86_64 => x86_64::make_syscall_table(),
23+
TargetArch::riscv64 => riscv64::make_syscall_table(),
2224
},
2325
}
2426
}
@@ -39,12 +41,15 @@ mod tests {
3941
// get number for a valid syscall
4042
let instance_x86_64 = SyscallTable::new(TargetArch::x86_64);
4143
let instance_aarch64 = SyscallTable::new(TargetArch::aarch64);
44+
let instance_riscv64 = SyscallTable::new(TargetArch::riscv64);
4245

4346
assert_eq!(instance_x86_64.get_syscall_nr("close").unwrap(), 3);
4447
assert_eq!(instance_aarch64.get_syscall_nr("close").unwrap(), 57);
48+
assert_eq!(instance_riscv64.get_syscall_nr("close").unwrap(), 57);
4549

4650
// invalid syscall name
4751
assert!(instance_x86_64.get_syscall_nr("nosyscall").is_none());
4852
assert!(instance_aarch64.get_syscall_nr("nosyscall").is_none());
53+
assert!(instance_riscv64.get_syscall_nr("nosyscall").is_none());
4954
}
5055
}

src/syscall_table/riscv64.rs

Lines changed: 311 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,311 @@
1+
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0 OR BSD-3-Clause
3+
4+
// This file is auto-generated by `tools/generate_syscall_tables`.
5+
// Do NOT manually edit!
6+
// Generated on: Thu Dec 5 19:14:32 HKT 2024
7+
// Kernel version: 5.10
8+
9+
use std::collections::HashMap;
10+
11+
pub(crate) fn make_syscall_table() -> HashMap<&'static str, i64> {
12+
vec![
13+
("accept", 202),
14+
("accept4", 242),
15+
("acct", 89),
16+
("add_key", 217),
17+
("adjtimex", 171),
18+
("bind", 200),
19+
("bpf", 280),
20+
("brk", 214),
21+
("capget", 90),
22+
("capset", 91),
23+
("chdir", 49),
24+
("chroot", 51),
25+
("clock_adjtime", 266),
26+
("clock_getres", 114),
27+
("clock_gettime", 113),
28+
("clock_nanosleep", 115),
29+
("clock_settime", 112),
30+
("clone", 220),
31+
("clone3", 435),
32+
("close", 57),
33+
("close_range", 436),
34+
("connect", 203),
35+
("copy_file_range", 285),
36+
("delete_module", 106),
37+
("dup", 23),
38+
("dup3", 24),
39+
("epoll_create1", 20),
40+
("epoll_ctl", 21),
41+
("epoll_pwait", 22),
42+
("eventfd2", 19),
43+
("execve", 221),
44+
("execveat", 281),
45+
("exit", 93),
46+
("exit_group", 94),
47+
("faccessat", 48),
48+
("faccessat2", 439),
49+
("fadvise64", 223),
50+
("fallocate", 47),
51+
("fanotify_init", 262),
52+
("fanotify_mark", 263),
53+
("fchdir", 50),
54+
("fchmod", 52),
55+
("fchmodat", 53),
56+
("fchown", 55),
57+
("fchownat", 54),
58+
("fcntl", 25),
59+
("fdatasync", 83),
60+
("fgetxattr", 10),
61+
("finit_module", 273),
62+
("flistxattr", 13),
63+
("flock", 32),
64+
("fremovexattr", 16),
65+
("fsconfig", 431),
66+
("fsetxattr", 7),
67+
("fsmount", 432),
68+
("fsopen", 430),
69+
("fspick", 433),
70+
("fstat", 80),
71+
("fstatfs", 44),
72+
("fsync", 82),
73+
("ftruncate", 46),
74+
("futex", 98),
75+
("getcpu", 168),
76+
("getcwd", 17),
77+
("getdents64", 61),
78+
("getegid", 177),
79+
("geteuid", 175),
80+
("getgid", 176),
81+
("getgroups", 158),
82+
("getitimer", 102),
83+
("get_mempolicy", 236),
84+
("getpeername", 205),
85+
("getpgid", 155),
86+
("getpid", 172),
87+
("getppid", 173),
88+
("getpriority", 141),
89+
("getrandom", 278),
90+
("getresgid", 150),
91+
("getresuid", 148),
92+
("getrlimit", 163),
93+
("get_robust_list", 100),
94+
("getrusage", 165),
95+
("getsid", 156),
96+
("getsockname", 204),
97+
("getsockopt", 209),
98+
("gettid", 178),
99+
("gettimeofday", 169),
100+
("getuid", 174),
101+
("getxattr", 8),
102+
("init_module", 105),
103+
("inotify_add_watch", 27),
104+
("inotify_init1", 26),
105+
("inotify_rm_watch", 28),
106+
("io_cancel", 3),
107+
("ioctl", 29),
108+
("io_destroy", 1),
109+
("io_getevents", 4),
110+
("io_pgetevents", 292),
111+
("ioprio_get", 31),
112+
("ioprio_set", 30),
113+
("io_setup", 0),
114+
("io_submit", 2),
115+
("io_uring_enter", 426),
116+
("io_uring_register", 427),
117+
("io_uring_setup", 425),
118+
("kcmp", 272),
119+
("kexec_file_load", 294),
120+
("kexec_load", 104),
121+
("keyctl", 219),
122+
("kill", 129),
123+
("lgetxattr", 9),
124+
("linkat", 37),
125+
("listen", 201),
126+
("listxattr", 11),
127+
("llistxattr", 12),
128+
("lookup_dcookie", 18),
129+
("lremovexattr", 15),
130+
("lseek", 62),
131+
("lsetxattr", 6),
132+
("madvise", 233),
133+
("mbind", 235),
134+
("membarrier", 283),
135+
("memfd_create", 279),
136+
("migrate_pages", 238),
137+
("mincore", 232),
138+
("mkdirat", 34),
139+
("mknodat", 33),
140+
("mlock", 228),
141+
("mlock2", 284),
142+
("mlockall", 230),
143+
("mmap", 222),
144+
("mount", 40),
145+
("move_mount", 429),
146+
("move_pages", 239),
147+
("mprotect", 226),
148+
("mq_getsetattr", 185),
149+
("mq_notify", 184),
150+
("mq_open", 180),
151+
("mq_timedreceive", 183),
152+
("mq_timedsend", 182),
153+
("mq_unlink", 181),
154+
("mremap", 216),
155+
("msgctl", 187),
156+
("msgget", 186),
157+
("msgrcv", 188),
158+
("msgsnd", 189),
159+
("msync", 227),
160+
("munlock", 229),
161+
("munlockall", 231),
162+
("munmap", 215),
163+
("name_to_handle_at", 264),
164+
("nanosleep", 101),
165+
("newfstatat", 79),
166+
("nfsservctl", 42),
167+
("openat", 56),
168+
("openat2", 437),
169+
("open_by_handle_at", 265),
170+
("open_tree", 428),
171+
("perf_event_open", 241),
172+
("personality", 92),
173+
("pidfd_getfd", 438),
174+
("pidfd_open", 434),
175+
("pidfd_send_signal", 424),
176+
("pipe2", 59),
177+
("pivot_root", 41),
178+
("pkey_alloc", 289),
179+
("pkey_free", 290),
180+
("pkey_mprotect", 288),
181+
("ppoll", 73),
182+
("prctl", 167),
183+
("pread64", 67),
184+
("preadv", 69),
185+
("preadv2", 286),
186+
("prlimit64", 261),
187+
("process_madvise", 440),
188+
("process_vm_readv", 270),
189+
("process_vm_writev", 271),
190+
("pselect6", 72),
191+
("ptrace", 117),
192+
("pwrite64", 68),
193+
("pwritev", 70),
194+
("pwritev2", 287),
195+
("quotactl", 60),
196+
("read", 63),
197+
("readahead", 213),
198+
("readlinkat", 78),
199+
("readv", 65),
200+
("reboot", 142),
201+
("recvfrom", 207),
202+
("recvmmsg", 243),
203+
("recvmsg", 212),
204+
("remap_file_pages", 234),
205+
("removexattr", 14),
206+
("renameat2", 276),
207+
("request_key", 218),
208+
("restart_syscall", 128),
209+
("rseq", 293),
210+
("rt_sigaction", 134),
211+
("rt_sigpending", 136),
212+
("rt_sigprocmask", 135),
213+
("rt_sigqueueinfo", 138),
214+
("rt_sigreturn", 139),
215+
("rt_sigsuspend", 133),
216+
("rt_sigtimedwait", 137),
217+
("rt_tgsigqueueinfo", 240),
218+
("sched_getaffinity", 123),
219+
("sched_getattr", 275),
220+
("sched_getparam", 121),
221+
("sched_get_priority_max", 125),
222+
("sched_get_priority_min", 126),
223+
("sched_getscheduler", 120),
224+
("sched_rr_get_interval", 127),
225+
("sched_setaffinity", 122),
226+
("sched_setattr", 274),
227+
("sched_setparam", 118),
228+
("sched_setscheduler", 119),
229+
("sched_yield", 124),
230+
("seccomp", 277),
231+
("semctl", 191),
232+
("semget", 190),
233+
("semop", 193),
234+
("semtimedop", 192),
235+
("sendfile", 71),
236+
("sendmmsg", 269),
237+
("sendmsg", 211),
238+
("sendto", 206),
239+
("setdomainname", 162),
240+
("setfsgid", 152),
241+
("setfsuid", 151),
242+
("setgid", 144),
243+
("setgroups", 159),
244+
("sethostname", 161),
245+
("setitimer", 103),
246+
("set_mempolicy", 237),
247+
("setns", 268),
248+
("setpgid", 154),
249+
("setpriority", 140),
250+
("setregid", 143),
251+
("setresgid", 149),
252+
("setresuid", 147),
253+
("setreuid", 145),
254+
("setrlimit", 164),
255+
("set_robust_list", 99),
256+
("setsid", 157),
257+
("setsockopt", 208),
258+
("set_tid_address", 96),
259+
("settimeofday", 170),
260+
("setuid", 146),
261+
("setxattr", 5),
262+
("shmat", 196),
263+
("shmctl", 195),
264+
("shmdt", 197),
265+
("shmget", 194),
266+
("shutdown", 210),
267+
("sigaltstack", 132),
268+
("signalfd4", 74),
269+
("socket", 198),
270+
("socketpair", 199),
271+
("splice", 76),
272+
("statfs", 43),
273+
("statx", 291),
274+
("swapoff", 225),
275+
("swapon", 224),
276+
("symlinkat", 36),
277+
("sync", 81),
278+
("sync_file_range", 84),
279+
("syncfs", 267),
280+
("sysinfo", 179),
281+
("syslog", 116),
282+
("tee", 77),
283+
("tgkill", 131),
284+
("timer_create", 107),
285+
("timer_delete", 111),
286+
("timerfd_create", 85),
287+
("timerfd_gettime", 87),
288+
("timerfd_settime", 86),
289+
("timer_getoverrun", 109),
290+
("timer_gettime", 108),
291+
("timer_settime", 110),
292+
("times", 153),
293+
("tkill", 130),
294+
("truncate", 45),
295+
("umask", 166),
296+
("umount2", 39),
297+
("uname", 160),
298+
("unlinkat", 35),
299+
("unshare", 97),
300+
("userfaultfd", 282),
301+
("utimensat", 88),
302+
("vhangup", 58),
303+
("vmsplice", 75),
304+
("wait4", 260),
305+
("waitid", 95),
306+
("write", 64),
307+
("writev", 66),
308+
]
309+
.into_iter()
310+
.collect()
311+
}

0 commit comments

Comments
 (0)