diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-06-15 12:41:45 +0900 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2022-01-13 11:11:28 +0100 |
commit | 0af62e7f7566985b38b89d3d55ca266e61005d0f (patch) | |
tree | c7509868fe975ffaf74cff84351faf9811cf246f | |
parent | 04ba6148cfb7d323dada884214fef307ebdf06bd (diff) | |
download | systemd-0af62e7f7566985b38b89d3d55ca266e61005d0f.tar.gz |
missing_syscall: add riscv32 support
(cherry picked from commit fc75007b3258d2d5a6d25f03116493f17c3b8db8)
-rw-r--r-- | src/basic/missing_syscall_def.h | 167 | ||||
-rw-r--r-- | src/basic/missing_syscalls.py | 10 |
2 files changed, 142 insertions, 35 deletions
diff --git a/src/basic/missing_syscall_def.h b/src/basic/missing_syscall_def.h index f36c55abc3..897f045c30 100644 --- a/src/basic/missing_syscall_def.h +++ b/src/basic/missing_syscall_def.h @@ -18,7 +18,12 @@ # error "Unknown MIPS ABI" # endif # elif defined(__powerpc__) -# elif defined(__riscv) && defined(__LP64__) +# elif defined(__riscv) +# if __riscv_xlen == 32 +# elif __riscv_xlen == 64 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # elif defined(__sparc__) # elif defined(__x86_64__) @@ -57,8 +62,14 @@ # endif # elif defined(__powerpc__) # define systemd_NR_bpf 361 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_bpf 280 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_bpf 280 +# elif __riscv_xlen == 64 +# define systemd_NR_bpf 280 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_bpf 351 # elif defined(__sparc__) @@ -115,8 +126,14 @@ assert_cc(__NR_bpf == systemd_NR_bpf); # endif # elif defined(__powerpc__) # define systemd_NR_close_range 436 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_close_range 436 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_close_range 436 +# elif __riscv_xlen == 64 +# define systemd_NR_close_range 436 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_close_range 436 # elif defined(__sparc__) @@ -173,8 +190,14 @@ assert_cc(__NR_close_range == systemd_NR_close_range); # endif # elif defined(__powerpc__) # define systemd_NR_copy_file_range 379 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_copy_file_range 285 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_copy_file_range 285 +# elif __riscv_xlen == 64 +# define systemd_NR_copy_file_range 285 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_copy_file_range 375 # elif defined(__sparc__) @@ -231,8 +254,14 @@ assert_cc(__NR_copy_file_range == systemd_NR_copy_file_range); # endif # elif defined(__powerpc__) # define systemd_NR_epoll_pwait2 441 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_epoll_pwait2 441 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_epoll_pwait2 441 +# elif __riscv_xlen == 64 +# define systemd_NR_epoll_pwait2 441 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_epoll_pwait2 441 # elif defined(__sparc__) @@ -289,8 +318,14 @@ assert_cc(__NR_epoll_pwait2 == systemd_NR_epoll_pwait2); # endif # elif defined(__powerpc__) # define systemd_NR_getrandom 359 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_getrandom 278 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_getrandom 278 +# elif __riscv_xlen == 64 +# define systemd_NR_getrandom 278 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_getrandom 349 # elif defined(__sparc__) @@ -347,8 +382,14 @@ assert_cc(__NR_getrandom == systemd_NR_getrandom); # endif # elif defined(__powerpc__) # define systemd_NR_memfd_create 360 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_memfd_create 279 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_memfd_create 279 +# elif __riscv_xlen == 64 +# define systemd_NR_memfd_create 279 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_memfd_create 350 # elif defined(__sparc__) @@ -405,8 +446,14 @@ assert_cc(__NR_memfd_create == systemd_NR_memfd_create); # endif # elif defined(__powerpc__) # define systemd_NR_mount_setattr 442 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_mount_setattr 442 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_mount_setattr 442 +# elif __riscv_xlen == 64 +# define systemd_NR_mount_setattr 442 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_mount_setattr 442 # elif defined(__sparc__) @@ -463,8 +510,14 @@ assert_cc(__NR_mount_setattr == systemd_NR_mount_setattr); # endif # elif defined(__powerpc__) # define systemd_NR_move_mount 429 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_move_mount 429 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_move_mount 429 +# elif __riscv_xlen == 64 +# define systemd_NR_move_mount 429 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_move_mount 429 # elif defined(__sparc__) @@ -521,8 +574,14 @@ assert_cc(__NR_move_mount == systemd_NR_move_mount); # endif # elif defined(__powerpc__) # define systemd_NR_name_to_handle_at 345 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_name_to_handle_at 264 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_name_to_handle_at 264 +# elif __riscv_xlen == 64 +# define systemd_NR_name_to_handle_at 264 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_name_to_handle_at 335 # elif defined(__sparc__) @@ -579,8 +638,14 @@ assert_cc(__NR_name_to_handle_at == systemd_NR_name_to_handle_at); # endif # elif defined(__powerpc__) # define systemd_NR_open_tree 428 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_open_tree 428 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_open_tree 428 +# elif __riscv_xlen == 64 +# define systemd_NR_open_tree 428 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_open_tree 428 # elif defined(__sparc__) @@ -637,8 +702,14 @@ assert_cc(__NR_open_tree == systemd_NR_open_tree); # endif # elif defined(__powerpc__) # define systemd_NR_pidfd_open 434 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_pidfd_open 434 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_pidfd_open 434 +# elif __riscv_xlen == 64 +# define systemd_NR_pidfd_open 434 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_pidfd_open 434 # elif defined(__sparc__) @@ -695,8 +766,14 @@ assert_cc(__NR_pidfd_open == systemd_NR_pidfd_open); # endif # elif defined(__powerpc__) # define systemd_NR_pidfd_send_signal 424 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_pidfd_send_signal 424 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_pidfd_send_signal 424 +# elif __riscv_xlen == 64 +# define systemd_NR_pidfd_send_signal 424 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_pidfd_send_signal 424 # elif defined(__sparc__) @@ -753,8 +830,14 @@ assert_cc(__NR_pidfd_send_signal == systemd_NR_pidfd_send_signal); # endif # elif defined(__powerpc__) # define systemd_NR_pkey_mprotect 386 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_pkey_mprotect 288 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_pkey_mprotect 288 +# elif __riscv_xlen == 64 +# define systemd_NR_pkey_mprotect 288 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_pkey_mprotect 384 # elif defined(__sparc__) @@ -811,8 +894,14 @@ assert_cc(__NR_pkey_mprotect == systemd_NR_pkey_mprotect); # endif # elif defined(__powerpc__) # define systemd_NR_renameat2 357 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_renameat2 276 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_renameat2 276 +# elif __riscv_xlen == 64 +# define systemd_NR_renameat2 276 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_renameat2 347 # elif defined(__sparc__) @@ -869,8 +958,14 @@ assert_cc(__NR_renameat2 == systemd_NR_renameat2); # endif # elif defined(__powerpc__) # define systemd_NR_setns 350 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_setns 268 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_setns 268 +# elif __riscv_xlen == 64 +# define systemd_NR_setns 268 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_setns 339 # elif defined(__sparc__) @@ -927,8 +1022,14 @@ assert_cc(__NR_setns == systemd_NR_setns); # endif # elif defined(__powerpc__) # define systemd_NR_statx 383 -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_statx 291 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_statx 291 +# elif __riscv_xlen == 64 +# define systemd_NR_statx 291 +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_statx 379 # elif defined(__sparc__) diff --git a/src/basic/missing_syscalls.py b/src/basic/missing_syscalls.py index 0234e6fc44..ed79be568b 100644 --- a/src/basic/missing_syscalls.py +++ b/src/basic/missing_syscalls.py @@ -73,8 +73,14 @@ DEF_TEMPLATE_B = '''\ # endif # elif defined(__powerpc__) # define systemd_NR_{syscall} {nr_powerpc} -# elif defined(__riscv) && defined(__LP64__) -# define systemd_NR_{syscall} {nr_riscv64} +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_{syscall} {nr_riscv32} +# elif __riscv_xlen == 64 +# define systemd_NR_{syscall} {nr_riscv64} +# else +# error "Unknown RISC-V ABI" +# endif # elif defined(__s390__) # define systemd_NR_{syscall} {nr_s390} # elif defined(__sparc__) |