]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
missing_syscall: add riscv32 support 19928/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 15 Jun 2021 03:41:45 +0000 (12:41 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 15 Jun 2021 10:07:36 +0000 (19:07 +0900)
src/basic/missing_syscall_def.h
src/basic/missing_syscalls.py

index 84b79ecc092ad9b2f827f0932510df6537e3d5d5..6a48c2a0c5a7f103fb7a1f06dfe8d6143ea574f4 100644 (file)
 #      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__)
 #    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__)
@@ -119,8 +130,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__)
@@ -177,8 +194,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__)
@@ -235,8 +258,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__)
@@ -293,8 +322,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__)
@@ -351,8 +386,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__)
@@ -409,8 +450,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__)
@@ -467,8 +514,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__)
@@ -525,8 +578,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__)
@@ -583,8 +642,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__)
@@ -641,8 +706,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__)
@@ -699,8 +770,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__)
@@ -757,8 +834,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__)
@@ -815,8 +898,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__)
@@ -873,8 +962,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__)
@@ -931,8 +1026,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__)
index d3c68dc067d8727d5bc96b25be9c24bf33ded223..19f9726d4eae9102161784bac28bde89d4c3f966 100644 (file)
@@ -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__)