]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
syscalls: add LoongArch 64bit syscalls
authorXiaotian Wu <wuxiaotian@loongson.cn>
Tue, 8 Dec 2020 12:02:13 +0000 (20:02 +0800)
committerXiaotian Wu <wuxiaotian@loongson.cn>
Wed, 1 Dec 2021 15:48:30 +0000 (23:48 +0800)
src/basic/meson.build
src/basic/missing_syscall_def.h
src/basic/missing_syscalls.py
src/basic/syscalls-loongarch64.txt [new file with mode: 0644]

index bc90100c345af76fcef37195275b45c9eda82461..891235ff42ed2877c79ef59863b1fa31f8bacfbc 100644 (file)
@@ -344,6 +344,7 @@ arch_list = [
         'arm64',
         'i386',
         'ia64',
+        'loongarch64',
         'm68k',
         'mips64',
         'mips64n32',
index 6a48c2a0c5a7f103fb7a1f06dfe8d6143ea574f4..84d41d9fd3137dcfed5e81b2795eb67ecdeae01b 100644 (file)
@@ -13,6 +13,7 @@
 #  elif defined(__arm__)
 #  elif defined(__i386__)
 #  elif defined(__ia64__)
+#  elif defined(__loongarch64)
 #  elif defined(__m68k__)
 #  elif defined(_MIPS_SIM)
 #    if _MIPS_SIM == _MIPS_SIM_ABI32
@@ -52,6 +53,8 @@
 #    define systemd_NR_bpf 357
 #  elif defined(__ia64__)
 #    define systemd_NR_bpf 1341
+#  elif defined(__loongarch64)
+#    define systemd_NR_bpf 280
 #  elif defined(__m68k__)
 #    define systemd_NR_bpf 354
 #  elif defined(_MIPS_SIM)
@@ -116,6 +119,8 @@ assert_cc(__NR_bpf == systemd_NR_bpf);
 #    define systemd_NR_close_range 436
 #  elif defined(__ia64__)
 #    define systemd_NR_close_range 1460
+#  elif defined(__loongarch64)
+#    define systemd_NR_close_range 436
 #  elif defined(__m68k__)
 #    define systemd_NR_close_range 436
 #  elif defined(_MIPS_SIM)
@@ -180,6 +185,8 @@ assert_cc(__NR_close_range == systemd_NR_close_range);
 #    define systemd_NR_copy_file_range 377
 #  elif defined(__ia64__)
 #    define systemd_NR_copy_file_range 1347
+#  elif defined(__loongarch64)
+#    define systemd_NR_copy_file_range 285
 #  elif defined(__m68k__)
 #    define systemd_NR_copy_file_range 376
 #  elif defined(_MIPS_SIM)
@@ -244,6 +251,8 @@ assert_cc(__NR_copy_file_range == systemd_NR_copy_file_range);
 #    define systemd_NR_epoll_pwait2 441
 #  elif defined(__ia64__)
 #    define systemd_NR_epoll_pwait2 1465
+#  elif defined(__loongarch64)
+#    define systemd_NR_epoll_pwait2 441
 #  elif defined(__m68k__)
 #    define systemd_NR_epoll_pwait2 441
 #  elif defined(_MIPS_SIM)
@@ -308,6 +317,8 @@ assert_cc(__NR_epoll_pwait2 == systemd_NR_epoll_pwait2);
 #    define systemd_NR_getrandom 355
 #  elif defined(__ia64__)
 #    define systemd_NR_getrandom 1339
+#  elif defined(__loongarch64)
+#    define systemd_NR_getrandom 278
 #  elif defined(__m68k__)
 #    define systemd_NR_getrandom 352
 #  elif defined(_MIPS_SIM)
@@ -372,6 +383,8 @@ assert_cc(__NR_getrandom == systemd_NR_getrandom);
 #    define systemd_NR_memfd_create 356
 #  elif defined(__ia64__)
 #    define systemd_NR_memfd_create 1340
+#  elif defined(__loongarch64)
+#    define systemd_NR_memfd_create 279
 #  elif defined(__m68k__)
 #    define systemd_NR_memfd_create 353
 #  elif defined(_MIPS_SIM)
@@ -436,6 +449,8 @@ assert_cc(__NR_memfd_create == systemd_NR_memfd_create);
 #    define systemd_NR_mount_setattr 442
 #  elif defined(__ia64__)
 #    define systemd_NR_mount_setattr 1466
+#  elif defined(__loongarch64)
+#    define systemd_NR_mount_setattr 442
 #  elif defined(__m68k__)
 #    define systemd_NR_mount_setattr 442
 #  elif defined(_MIPS_SIM)
@@ -500,6 +515,8 @@ assert_cc(__NR_mount_setattr == systemd_NR_mount_setattr);
 #    define systemd_NR_move_mount 429
 #  elif defined(__ia64__)
 #    define systemd_NR_move_mount 1453
+#  elif defined(__loongarch64)
+#    define systemd_NR_move_mount 429
 #  elif defined(__m68k__)
 #    define systemd_NR_move_mount 429
 #  elif defined(_MIPS_SIM)
@@ -564,6 +581,8 @@ assert_cc(__NR_move_mount == systemd_NR_move_mount);
 #    define systemd_NR_name_to_handle_at 341
 #  elif defined(__ia64__)
 #    define systemd_NR_name_to_handle_at 1326
+#  elif defined(__loongarch64)
+#    define systemd_NR_name_to_handle_at 264
 #  elif defined(__m68k__)
 #    define systemd_NR_name_to_handle_at 340
 #  elif defined(_MIPS_SIM)
@@ -628,6 +647,8 @@ assert_cc(__NR_name_to_handle_at == systemd_NR_name_to_handle_at);
 #    define systemd_NR_open_tree 428
 #  elif defined(__ia64__)
 #    define systemd_NR_open_tree 1452
+#  elif defined(__loongarch64)
+#    define systemd_NR_open_tree 428
 #  elif defined(__m68k__)
 #    define systemd_NR_open_tree 428
 #  elif defined(_MIPS_SIM)
@@ -692,6 +713,8 @@ assert_cc(__NR_open_tree == systemd_NR_open_tree);
 #    define systemd_NR_pidfd_open 434
 #  elif defined(__ia64__)
 #    define systemd_NR_pidfd_open 1458
+#  elif defined(__loongarch64)
+#    define systemd_NR_pidfd_open 434
 #  elif defined(__m68k__)
 #    define systemd_NR_pidfd_open 434
 #  elif defined(_MIPS_SIM)
@@ -756,6 +779,8 @@ assert_cc(__NR_pidfd_open == systemd_NR_pidfd_open);
 #    define systemd_NR_pidfd_send_signal 424
 #  elif defined(__ia64__)
 #    define systemd_NR_pidfd_send_signal 1448
+#  elif defined(__loongarch64)
+#    define systemd_NR_pidfd_send_signal 424
 #  elif defined(__m68k__)
 #    define systemd_NR_pidfd_send_signal 424
 #  elif defined(_MIPS_SIM)
@@ -820,6 +845,8 @@ assert_cc(__NR_pidfd_send_signal == systemd_NR_pidfd_send_signal);
 #    define systemd_NR_pkey_mprotect 380
 #  elif defined(__ia64__)
 #    define systemd_NR_pkey_mprotect 1354
+#  elif defined(__loongarch64)
+#    define systemd_NR_pkey_mprotect 288
 #  elif defined(__m68k__)
 #    define systemd_NR_pkey_mprotect 381
 #  elif defined(_MIPS_SIM)
@@ -884,6 +911,8 @@ assert_cc(__NR_pkey_mprotect == systemd_NR_pkey_mprotect);
 #    define systemd_NR_renameat2 353
 #  elif defined(__ia64__)
 #    define systemd_NR_renameat2 1338
+#  elif defined(__loongarch64)
+#    define systemd_NR_renameat2 276
 #  elif defined(__m68k__)
 #    define systemd_NR_renameat2 351
 #  elif defined(_MIPS_SIM)
@@ -948,6 +977,8 @@ assert_cc(__NR_renameat2 == systemd_NR_renameat2);
 #    define systemd_NR_setns 346
 #  elif defined(__ia64__)
 #    define systemd_NR_setns 1330
+#  elif defined(__loongarch64)
+#    define systemd_NR_setns 268
 #  elif defined(__m68k__)
 #    define systemd_NR_setns 344
 #  elif defined(_MIPS_SIM)
@@ -1012,6 +1043,8 @@ assert_cc(__NR_setns == systemd_NR_setns);
 #    define systemd_NR_statx 383
 #  elif defined(__ia64__)
 #    define systemd_NR_statx 1350
+#  elif defined(__loongarch64)
+#    define systemd_NR_statx 291
 #  elif defined(__m68k__)
 #    define systemd_NR_statx 379
 #  elif defined(_MIPS_SIM)
index 19f9726d4eae9102161784bac28bde89d4c3f966..1fbd619789cf02fd8ec8e8226fa70e0e0742d9fc 100644 (file)
@@ -59,6 +59,8 @@ DEF_TEMPLATE_B = '''\
 #    define systemd_NR_{syscall} {nr_i386}
 #  elif defined(__ia64__)
 #    define systemd_NR_{syscall} {nr_ia64}
+#  elif defined(__loongarch64)
+#    define systemd_NR_{syscall} {nr_loongarch64}
 #  elif defined(__m68k__)
 #    define systemd_NR_{syscall} {nr_m68k}
 #  elif defined(_MIPS_SIM)
diff --git a/src/basic/syscalls-loongarch64.txt b/src/basic/syscalls-loongarch64.txt
new file mode 100644 (file)
index 0000000..863c1ff
--- /dev/null
@@ -0,0 +1,598 @@
+_llseek
+_newselect
+_sysctl
+accept 202
+accept4        242
+access
+acct   89
+add_key        217
+adjtimex       171
+alarm
+arc_gettls
+arc_settls
+arc_usr_cmpxchg
+arch_prctl
+arm_fadvise64_64
+atomic_barrier
+atomic_cmpxchg_32
+bdflush
+bind   200
+bpf    280
+brk    214
+cachectl
+cacheflush
+capget 90
+capset 91
+chdir  49
+chmod
+chown
+chown32
+chroot 51
+clock_adjtime  266
+clock_adjtime64
+clock_getres   114
+clock_getres_time64
+clock_gettime  113
+clock_gettime64
+clock_nanosleep        115
+clock_nanosleep_time64
+clock_settime  112
+clock_settime64
+clone  220
+clone2
+clone3 435
+close  57
+close_range    436
+connect        203
+copy_file_range        285
+creat
+create_module
+delete_module  106
+dipc
+dup    23
+dup2
+dup3   24
+epoll_create
+epoll_create1  20
+epoll_ctl      21
+epoll_ctl_old
+epoll_pwait    22
+epoll_pwait2   441
+epoll_wait
+epoll_wait_old
+eventfd
+eventfd2       19
+exec_with_loader
+execv
+execve 221
+execveat       281
+exit   93
+exit_group     94
+faccessat      48
+faccessat2     439
+fadvise64      223
+fadvise64_64
+fallocate      47
+fanotify_init  262
+fanotify_mark  263
+fchdir 50
+fchmod 52
+fchmodat       53
+fchown 55
+fchown32
+fchownat       54
+fcntl  25
+fcntl64
+fdatasync      83
+fgetxattr      10
+finit_module   273
+flistxattr     13
+flock  32
+fork
+fp_udfiex_crtl
+fremovexattr   16
+fsconfig       431
+fsetxattr      7
+fsmount        432
+fsopen 430
+fspick 433
+fstat  80
+fstat64
+fstatat64
+fstatfs        44
+fstatfs64
+fsync  82
+ftruncate      46
+ftruncate64
+futex  98
+futex_time64
+futimesat
+get_kernel_syms
+get_mempolicy  236
+get_robust_list        100
+get_thread_area
+getcpu 168
+getcwd 17
+getdents
+getdents64     61
+getdomainname
+getdtablesize
+getegid        177
+getegid32
+geteuid        175
+geteuid32
+getgid 176
+getgid32
+getgroups      158
+getgroups32
+gethostname
+getitimer      102
+getpagesize
+getpeername    205
+getpgid        155
+getpgrp
+getpid 172
+getpmsg
+getppid        173
+getpriority    141
+getrandom      278
+getresgid      150
+getresgid32
+getresuid      148
+getresuid32
+getrlimit
+getrusage      165
+getsid 156
+getsockname    204
+getsockopt     209
+gettid 178
+gettimeofday   169
+getuid 174
+getuid32
+getunwind
+getxattr       8
+getxgid
+getxpid
+getxuid
+idle
+init_module    105
+inotify_add_watch      27
+inotify_init
+inotify_init1  26
+inotify_rm_watch       28
+io_cancel      3
+io_destroy     1
+io_getevents   4
+io_pgetevents  292
+io_pgetevents_time64
+io_setup       0
+io_submit      2
+io_uring_enter 426
+io_uring_register      427
+io_uring_setup 425
+ioctl  29
+ioperm
+iopl
+ioprio_get     31
+ioprio_set     30
+ipc
+kcmp   272
+kern_features
+kexec_file_load        294
+kexec_load     104
+keyctl 219
+kill   129
+landlock_add_rule      445
+landlock_create_ruleset        444
+landlock_restrict_self 446
+lchown
+lchown32
+lgetxattr      9
+link
+linkat 37
+listen 201
+listxattr      11
+llistxattr     12
+lookup_dcookie 18
+lremovexattr   15
+lseek  62
+lsetxattr      6
+lstat
+lstat64
+madvise        233
+mbind  235
+membarrier     283
+memfd_create   279
+memory_ordering
+migrate_pages  238
+mincore        232
+mkdir
+mkdirat        34
+mknod
+mknodat        33
+mlock  228
+mlock2 284
+mlockall       230
+mmap   222
+mmap2
+modify_ldt
+mount  40
+mount_setattr  442
+move_mount     429
+move_pages     239
+mprotect       226
+mq_getsetattr  185
+mq_notify      184
+mq_open        180
+mq_timedreceive        183
+mq_timedreceive_time64
+mq_timedsend   182
+mq_timedsend_time64
+mq_unlink      181
+mremap 216
+msgctl 187
+msgget 186
+msgrcv 188
+msgsnd 189
+msync  227
+multiplexer
+munlock        229
+munlockall     231
+munmap 215
+name_to_handle_at      264
+nanosleep      101
+newfstatat     79
+nfsservctl     42
+nice
+old_adjtimex
+old_getpagesize
+oldfstat
+oldlstat
+oldolduname
+oldstat
+oldumount
+olduname
+open
+open_by_handle_at      265
+open_tree      428
+openat 56
+openat2        437
+or1k_atomic
+osf_adjtime
+osf_afs_syscall
+osf_alt_plock
+osf_alt_setsid
+osf_alt_sigpending
+osf_asynch_daemon
+osf_audcntl
+osf_audgen
+osf_chflags
+osf_execve
+osf_exportfs
+osf_fchflags
+osf_fdatasync
+osf_fpathconf
+osf_fstat
+osf_fstatfs
+osf_fstatfs64
+osf_fuser
+osf_getaddressconf
+osf_getdirentries
+osf_getdomainname
+osf_getfh
+osf_getfsstat
+osf_gethostid
+osf_getitimer
+osf_getlogin
+osf_getmnt
+osf_getrusage
+osf_getsysinfo
+osf_gettimeofday
+osf_kloadcall
+osf_kmodcall
+osf_lstat
+osf_memcntl
+osf_mincore
+osf_mount
+osf_mremap
+osf_msfs_syscall
+osf_msleep
+osf_mvalid
+osf_mwakeup
+osf_naccept
+osf_nfssvc
+osf_ngetpeername
+osf_ngetsockname
+osf_nrecvfrom
+osf_nrecvmsg
+osf_nsendmsg
+osf_ntp_adjtime
+osf_ntp_gettime
+osf_old_creat
+osf_old_fstat
+osf_old_getpgrp
+osf_old_killpg
+osf_old_lstat
+osf_old_open
+osf_old_sigaction
+osf_old_sigblock
+osf_old_sigreturn
+osf_old_sigsetmask
+osf_old_sigvec
+osf_old_stat
+osf_old_vadvise
+osf_old_vtrace
+osf_old_wait
+osf_oldquota
+osf_pathconf
+osf_pid_block
+osf_pid_unblock
+osf_plock
+osf_priocntlset
+osf_profil
+osf_proplist_syscall
+osf_reboot
+osf_revoke
+osf_sbrk
+osf_security
+osf_select
+osf_set_program_attributes
+osf_set_speculative
+osf_sethostid
+osf_setitimer
+osf_setlogin
+osf_setsysinfo
+osf_settimeofday
+osf_shmat
+osf_signal
+osf_sigprocmask
+osf_sigsendset
+osf_sigstack
+osf_sigwaitprim
+osf_sstk
+osf_stat
+osf_statfs
+osf_statfs64
+osf_subsys_info
+osf_swapctl
+osf_swapon
+osf_syscall
+osf_sysinfo
+osf_table
+osf_uadmin
+osf_usleep_thread
+osf_uswitch
+osf_utc_adjtime
+osf_utc_gettime
+osf_utimes
+osf_utsname
+osf_wait4
+osf_waitid
+pause
+pciconfig_iobase
+pciconfig_read
+pciconfig_write
+perf_event_open        241
+perfctr
+perfmonctl
+personality    92
+pidfd_getfd    438
+pidfd_open     434
+pidfd_send_signal      424
+pipe
+pipe2  59
+pivot_root     41
+pkey_alloc     289
+pkey_free      290
+pkey_mprotect  288
+poll
+ppoll  73
+ppoll_time64
+prctl  167
+pread64        67
+preadv 69
+preadv2        286
+prlimit64      261
+process_madvise        440
+process_vm_readv       270
+process_vm_writev      271
+pselect6       72
+pselect6_time64
+ptrace 117
+pwrite64       68
+pwritev        70
+pwritev2       287
+query_module
+quotactl       60
+quotactl_fd    443
+read   63
+readahead      213
+readdir
+readlink
+readlinkat     78
+readv  65
+reboot 142
+recv
+recvfrom       207
+recvmmsg       243
+recvmmsg_time64
+recvmsg        212
+remap_file_pages       234
+removexattr    14
+rename
+renameat
+renameat2      276
+request_key    218
+restart_syscall        128
+riscv_flush_icache
+rmdir
+rseq   293
+rt_sigaction   134
+rt_sigpending  136
+rt_sigprocmask 135
+rt_sigqueueinfo        138
+rt_sigreturn   139
+rt_sigsuspend  133
+rt_sigtimedwait        137
+rt_sigtimedwait_time64
+rt_tgsigqueueinfo      240
+rtas
+s390_guarded_storage
+s390_pci_mmio_read
+s390_pci_mmio_write
+s390_runtime_instr
+s390_sthyi
+sched_get_affinity
+sched_get_priority_max 125
+sched_get_priority_min 126
+sched_getaffinity      123
+sched_getattr  275
+sched_getparam 121
+sched_getscheduler     120
+sched_rr_get_interval  127
+sched_rr_get_interval_time64
+sched_set_affinity
+sched_setaffinity      122
+sched_setattr  274
+sched_setparam 118
+sched_setscheduler     119
+sched_yield    124
+seccomp        277
+select
+semctl 191
+semget 190
+semop  193
+semtimedop     192
+semtimedop_time64
+send
+sendfile       71
+sendfile64
+sendmmsg       269
+sendmsg        211
+sendto 206
+set_mempolicy  237
+set_robust_list        99
+set_thread_area
+set_tid_address        96
+setdomainname  162
+setfsgid       152
+setfsgid32
+setfsuid       151
+setfsuid32
+setgid 144
+setgid32
+setgroups      159
+setgroups32
+sethae
+sethostname    161
+setitimer      103
+setns  268
+setpgid        154
+setpgrp
+setpriority    140
+setregid       143
+setregid32
+setresgid      149
+setresgid32
+setresuid      147
+setresuid32
+setreuid       145
+setreuid32
+setrlimit
+setsid 157
+setsockopt     208
+settimeofday   170
+setuid 146
+setuid32
+setxattr       5
+sgetmask
+shmat  196
+shmctl 195
+shmdt  197
+shmget 194
+shutdown       210
+sigaction
+sigaltstack    132
+signal
+signalfd
+signalfd4      74
+sigpending
+sigprocmask
+sigreturn
+sigsuspend
+socket 198
+socketcall
+socketpair     199
+splice 76
+spu_create
+spu_run
+ssetmask
+stat
+stat64
+statfs 43
+statfs64
+statx  291
+stime
+subpage_prot
+swapcontext
+swapoff        225
+swapon 224
+switch_endian
+symlink
+symlinkat      36
+sync   81
+sync_file_range        84
+sync_file_range2
+syncfs 267
+sys_debug_setcontext
+syscall
+sysfs
+sysinfo        179
+syslog 116
+sysmips
+tee    77
+tgkill 131
+time
+timer_create   107
+timer_delete   111
+timer_getoverrun       109
+timer_gettime  108
+timer_gettime64
+timer_settime  110
+timer_settime64
+timerfd
+timerfd_create 85
+timerfd_gettime        87
+timerfd_gettime64
+timerfd_settime        86
+timerfd_settime64
+times  153
+tkill  130
+truncate       45
+truncate64
+ugetrlimit
+umask  166
+umount
+umount2        39
+uname  160
+unlink
+unlinkat       35
+unshare        97
+uselib
+userfaultfd    282
+ustat
+utime
+utimensat      88
+utimensat_time64
+utimes
+utrap_install
+vfork
+vhangup        58
+vm86
+vm86old
+vmsplice       75
+wait4  260
+waitid 95
+waitpid
+write  64
+writev 66