From d40de37edd8b71cce8a2a046f26a65846d8a71ce Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 24 Apr 2022 02:55:11 +0100 Subject: [PATCH] basic/missing-syscalls: add PARISC (HPPA support) Bug: https://github.com/systemd/systemd/issues/23180 --- src/basic/meson.build | 1 + src/basic/missing_syscall_def.h | 35 ++ src/basic/missing_syscalls.py | 2 + src/basic/syscalls-loongarch64.txt | 4 +- src/basic/syscalls-parisc.txt | 601 +++++++++++++++++++++++++++++ src/basic/syscalls-riscv32.txt | 2 +- src/basic/syscalls-riscv64.txt | 2 +- 7 files changed, 643 insertions(+), 4 deletions(-) create mode 100644 src/basic/syscalls-parisc.txt diff --git a/src/basic/meson.build b/src/basic/meson.build index 7b5a6f9cfe..cc4d948abd 100644 --- a/src/basic/meson.build +++ b/src/basic/meson.build @@ -348,6 +348,7 @@ arch_list = [ 'mips64', 'mips64n32', 'mipso32', + 'parisc', 'powerpc', 'powerpc64', 'riscv32', diff --git a/src/basic/missing_syscall_def.h b/src/basic/missing_syscall_def.h index 88df92db61..67cae7098d 100644 --- a/src/basic/missing_syscall_def.h +++ b/src/basic/missing_syscall_def.h @@ -23,6 +23,7 @@ # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) # elif defined(__powerpc__) # elif defined(__riscv) # if __riscv_xlen == 32 @@ -68,6 +69,8 @@ # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_bpf 341 # elif defined(__powerpc__) # define systemd_NR_bpf 361 # elif defined(__riscv) @@ -134,6 +137,8 @@ assert_cc(__NR_bpf == systemd_NR_bpf); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_close_range 436 # elif defined(__powerpc__) # define systemd_NR_close_range 436 # elif defined(__riscv) @@ -200,6 +205,8 @@ assert_cc(__NR_close_range == systemd_NR_close_range); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_copy_file_range 346 # elif defined(__powerpc__) # define systemd_NR_copy_file_range 379 # elif defined(__riscv) @@ -266,6 +273,8 @@ assert_cc(__NR_copy_file_range == systemd_NR_copy_file_range); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_epoll_pwait2 441 # elif defined(__powerpc__) # define systemd_NR_epoll_pwait2 441 # elif defined(__riscv) @@ -332,6 +341,8 @@ assert_cc(__NR_epoll_pwait2 == systemd_NR_epoll_pwait2); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_getrandom 339 # elif defined(__powerpc__) # define systemd_NR_getrandom 359 # elif defined(__riscv) @@ -398,6 +409,8 @@ assert_cc(__NR_getrandom == systemd_NR_getrandom); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_memfd_create 340 # elif defined(__powerpc__) # define systemd_NR_memfd_create 360 # elif defined(__riscv) @@ -464,6 +477,8 @@ assert_cc(__NR_memfd_create == systemd_NR_memfd_create); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_mount_setattr 442 # elif defined(__powerpc__) # define systemd_NR_mount_setattr 442 # elif defined(__riscv) @@ -530,6 +545,8 @@ assert_cc(__NR_mount_setattr == systemd_NR_mount_setattr); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_move_mount 429 # elif defined(__powerpc__) # define systemd_NR_move_mount 429 # elif defined(__riscv) @@ -596,6 +613,8 @@ assert_cc(__NR_move_mount == systemd_NR_move_mount); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_name_to_handle_at 325 # elif defined(__powerpc__) # define systemd_NR_name_to_handle_at 345 # elif defined(__riscv) @@ -662,6 +681,8 @@ assert_cc(__NR_name_to_handle_at == systemd_NR_name_to_handle_at); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_open_tree 428 # elif defined(__powerpc__) # define systemd_NR_open_tree 428 # elif defined(__riscv) @@ -728,6 +749,8 @@ assert_cc(__NR_open_tree == systemd_NR_open_tree); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_openat2 437 # elif defined(__powerpc__) # define systemd_NR_openat2 437 # elif defined(__riscv) @@ -794,6 +817,8 @@ assert_cc(__NR_openat2 == systemd_NR_openat2); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_pidfd_open 434 # elif defined(__powerpc__) # define systemd_NR_pidfd_open 434 # elif defined(__riscv) @@ -860,6 +885,8 @@ assert_cc(__NR_pidfd_open == systemd_NR_pidfd_open); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_pidfd_send_signal 424 # elif defined(__powerpc__) # define systemd_NR_pidfd_send_signal 424 # elif defined(__riscv) @@ -926,6 +953,8 @@ assert_cc(__NR_pidfd_send_signal == systemd_NR_pidfd_send_signal); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_pkey_mprotect 351 # elif defined(__powerpc__) # define systemd_NR_pkey_mprotect 386 # elif defined(__riscv) @@ -992,6 +1021,8 @@ assert_cc(__NR_pkey_mprotect == systemd_NR_pkey_mprotect); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_renameat2 337 # elif defined(__powerpc__) # define systemd_NR_renameat2 357 # elif defined(__riscv) @@ -1058,6 +1089,8 @@ assert_cc(__NR_renameat2 == systemd_NR_renameat2); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_setns 328 # elif defined(__powerpc__) # define systemd_NR_setns 350 # elif defined(__riscv) @@ -1124,6 +1157,8 @@ assert_cc(__NR_setns == systemd_NR_setns); # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_statx 349 # elif defined(__powerpc__) # define systemd_NR_statx 383 # elif defined(__riscv) diff --git a/src/basic/missing_syscalls.py b/src/basic/missing_syscalls.py index 83199bb1d7..642d4d985d 100644 --- a/src/basic/missing_syscalls.py +++ b/src/basic/missing_syscalls.py @@ -74,6 +74,8 @@ DEF_TEMPLATE_B = '''\ # else # error "Unknown MIPS ABI" # endif +# elif defined(__hppa__) +# define systemd_NR_{syscall} {nr_parisc} # elif defined(__powerpc__) # define systemd_NR_{syscall} {nr_powerpc} # elif defined(__riscv) diff --git a/src/basic/syscalls-loongarch64.txt b/src/basic/syscalls-loongarch64.txt index 848e9e90aa..a6a0bca93a 100644 --- a/src/basic/syscalls-loongarch64.txt +++ b/src/basic/syscalls-loongarch64.txt @@ -96,7 +96,7 @@ fsetxattr 7 fsmount 432 fsopen 430 fspick 433 -fstat 80 +fstat fstat64 fstatat64 fstatfs 44 @@ -243,7 +243,7 @@ munlockall 231 munmap 215 name_to_handle_at 264 nanosleep 101 -newfstatat 79 +newfstatat nfsservctl 42 nice old_adjtimex diff --git a/src/basic/syscalls-parisc.txt b/src/basic/syscalls-parisc.txt new file mode 100644 index 0000000000..905729f819 --- /dev/null +++ b/src/basic/syscalls-parisc.txt @@ -0,0 +1,601 @@ +_llseek 140 +_newselect 142 +_sysctl 149 +accept 35 +accept4 320 +access 33 +acct 51 +add_key 264 +adjtimex 124 +alarm 27 +arc_gettls +arc_settls +arc_usr_cmpxchg +arch_prctl +arm_fadvise64_64 +atomic_barrier +atomic_cmpxchg_32 +bdflush 134 +bind 22 +bpf 341 +brk 45 +cachectl +cacheflush +capget 106 +capset 107 +chdir 12 +chmod 15 +chown 180 +chown32 +chroot 61 +clock_adjtime 324 +clock_adjtime64 405 +clock_getres 257 +clock_getres_time64 406 +clock_gettime 256 +clock_gettime64 403 +clock_nanosleep 258 +clock_nanosleep_time64 407 +clock_settime 255 +clock_settime64 404 +clone 120 +clone2 +clone3 435 +close 6 +close_range 436 +connect 31 +copy_file_range 346 +creat 8 +create_module +delete_module 129 +dipc +dup 41 +dup2 63 +dup3 312 +epoll_create 224 +epoll_create1 311 +epoll_ctl 225 +epoll_ctl_old +epoll_pwait 297 +epoll_pwait2 441 +epoll_wait 226 +epoll_wait_old +eventfd 304 +eventfd2 310 +exec_with_loader +execv +execve 11 +execveat 342 +exit 1 +exit_group 222 +faccessat 287 +faccessat2 439 +fadvise64 +fadvise64_64 236 +fallocate 305 +fanotify_init 322 +fanotify_mark 323 +fchdir 133 +fchmod 94 +fchmodat 286 +fchown 95 +fchown32 +fchownat 278 +fcntl 55 +fcntl64 202 +fdatasync 148 +fgetxattr 243 +finit_module 333 +flistxattr 246 +flock 143 +fork 2 +fp_udfiex_crtl +fremovexattr 249 +fsconfig 431 +fsetxattr 240 +fsmount 432 +fsopen 430 +fspick 433 +fstat 28 +fstat64 112 +fstatat64 280 +fstatfs 100 +fstatfs64 299 +fsync 118 +ftruncate 93 +ftruncate64 200 +futex 210 +futex_time64 422 +futex_waitv 449 +futimesat 279 +get_kernel_syms +get_mempolicy 261 +get_robust_list 290 +get_thread_area +getcpu 296 +getcwd 110 +getdents 141 +getdents64 201 +getdomainname +getdtablesize +getegid 50 +getegid32 +geteuid 49 +geteuid32 +getgid 47 +getgid32 +getgroups 80 +getgroups32 +gethostname +getitimer 105 +getpagesize +getpeername 53 +getpgid 132 +getpgrp 65 +getpid 20 +getpmsg +getppid 64 +getpriority 96 +getrandom 339 +getresgid 171 +getresgid32 +getresuid 165 +getresuid32 +getrlimit 76 +getrusage 77 +getsid 147 +getsockname 44 +getsockopt 182 +gettid 206 +gettimeofday 78 +getuid 24 +getuid32 +getunwind +getxattr 241 +getxgid +getxpid +getxuid +idle +init_module 128 +inotify_add_watch 270 +inotify_init 269 +inotify_init1 314 +inotify_rm_watch 271 +io_cancel 219 +io_destroy 216 +io_getevents 217 +io_pgetevents 350 +io_pgetevents_time64 416 +io_setup 215 +io_submit 218 +io_uring_enter 426 +io_uring_register 427 +io_uring_setup 425 +ioctl 54 +ioperm +iopl +ioprio_get 268 +ioprio_set 267 +ipc +kcmp 332 +kern_features +kexec_file_load 355 +kexec_load 300 +keyctl 266 +kill 37 +landlock_add_rule 445 +landlock_create_ruleset 444 +landlock_restrict_self 446 +lchown 16 +lchown32 +lgetxattr 242 +link 9 +linkat 283 +listen 32 +listxattr 244 +llistxattr 245 +lookup_dcookie 223 +lremovexattr 248 +lseek 19 +lsetxattr 239 +lstat 84 +lstat64 198 +madvise 119 +mbind 260 +membarrier 343 +memfd_create 340 +memfd_secret +memory_ordering +migrate_pages 272 +mincore 72 +mkdir 39 +mkdirat 276 +mknod 14 +mknodat 277 +mlock 150 +mlock2 345 +mlockall 152 +mmap 90 +mmap2 89 +modify_ldt +mount 21 +mount_setattr 442 +move_mount 429 +move_pages 295 +mprotect 125 +mq_getsetattr 234 +mq_notify 233 +mq_open 229 +mq_timedreceive 232 +mq_timedreceive_time64 419 +mq_timedsend 231 +mq_timedsend_time64 418 +mq_unlink 230 +mremap 163 +msgctl 191 +msgget 190 +msgrcv 189 +msgsnd 188 +msync 144 +multiplexer +munlock 151 +munlockall 153 +munmap 91 +name_to_handle_at 325 +nanosleep 162 +newfstatat +nfsservctl +nice 34 +old_adjtimex +old_getpagesize +oldfstat +oldlstat +oldolduname +oldstat +oldumount +olduname +open 5 +open_by_handle_at 326 +open_tree 428 +openat 275 +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 29 +pciconfig_iobase +pciconfig_read +pciconfig_write +perf_event_open 318 +perfctr +personality 136 +pidfd_getfd 438 +pidfd_open 434 +pidfd_send_signal 424 +pipe 42 +pipe2 313 +pivot_root 67 +pkey_alloc 352 +pkey_free 353 +pkey_mprotect 351 +poll 168 +ppoll 274 +ppoll_time64 414 +prctl 172 +pread64 108 +preadv 315 +preadv2 347 +prlimit64 321 +process_madvise 440 +process_mrelease 448 +process_vm_readv 330 +process_vm_writev 331 +pselect6 273 +pselect6_time64 413 +ptrace 26 +pwrite64 109 +pwritev 316 +pwritev2 348 +query_module +quotactl 131 +quotactl_fd 443 +read 3 +readahead 207 +readdir +readlink 85 +readlinkat 285 +readv 145 +reboot 88 +recv 98 +recvfrom 123 +recvmmsg 319 +recvmmsg_time64 417 +recvmsg 184 +remap_file_pages 227 +removexattr 247 +rename 38 +renameat 282 +renameat2 337 +request_key 265 +restart_syscall 0 +riscv_flush_icache +rmdir 40 +rseq 354 +rt_sigaction 174 +rt_sigpending 176 +rt_sigprocmask 175 +rt_sigqueueinfo 178 +rt_sigreturn 173 +rt_sigsuspend 179 +rt_sigtimedwait 177 +rt_sigtimedwait_time64 421 +rt_tgsigqueueinfo 317 +rtas +s390_guarded_storage +s390_pci_mmio_read +s390_pci_mmio_write +s390_runtime_instr +s390_sthyi +sched_get_affinity +sched_get_priority_max 159 +sched_get_priority_min 160 +sched_getaffinity 212 +sched_getattr 335 +sched_getparam 155 +sched_getscheduler 157 +sched_rr_get_interval 161 +sched_rr_get_interval_time64 423 +sched_set_affinity +sched_setaffinity 211 +sched_setattr 334 +sched_setparam 154 +sched_setscheduler 156 +sched_yield 158 +seccomp 338 +select +semctl 187 +semget 186 +semop 185 +semtimedop 228 +semtimedop_time64 420 +send 58 +sendfile 122 +sendfile64 209 +sendmmsg 329 +sendmsg 183 +sendto 82 +set_mempolicy 262 +set_mempolicy_home_node 450 +set_robust_list 289 +set_thread_area +set_tid_address 237 +setdomainname 121 +setfsgid 139 +setfsgid32 +setfsuid 138 +setfsuid32 +setgid 46 +setgid32 +setgroups 81 +setgroups32 +sethae +sethostname 74 +setitimer 104 +setns 328 +setpgid 57 +setpgrp +setpriority 97 +setregid 71 +setregid32 +setresgid 170 +setresgid32 +setresuid 164 +setresuid32 +setreuid 70 +setreuid32 +setrlimit 75 +setsid 66 +setsockopt 181 +settimeofday 79 +setuid 23 +setuid32 +setxattr 238 +sgetmask 68 +shmat 192 +shmctl 195 +shmdt 193 +shmget 194 +shutdown 117 +sigaction +sigaltstack 166 +signal 48 +signalfd 302 +signalfd4 309 +sigpending 73 +sigprocmask 126 +sigreturn +sigsuspend +socket 17 +socketcall +socketpair 56 +splice 291 +spu_create +spu_run +ssetmask 69 +stat 18 +stat64 101 +statfs 99 +statfs64 298 +statx 349 +stime 25 +subpage_prot +swapcontext +swapoff 115 +swapon 87 +switch_endian +symlink 83 +symlinkat 284 +sync 36 +sync_file_range 292 +sync_file_range2 +syncfs 327 +sys_debug_setcontext +syscall +sysfs 135 +sysinfo 116 +syslog 103 +sysmips +tee 293 +tgkill 259 +time 13 +timer_create 250 +timer_delete 254 +timer_getoverrun 253 +timer_gettime 252 +timer_gettime64 408 +timer_settime 251 +timer_settime64 409 +timerfd +timerfd_create 306 +timerfd_gettime 308 +timerfd_gettime64 410 +timerfd_settime 307 +timerfd_settime64 411 +times 43 +tkill 208 +truncate 92 +truncate64 199 +ugetrlimit +umask 60 +umount +umount2 52 +uname 59 +unlink 10 +unlinkat 281 +unshare 288 +uselib 86 +userfaultfd 344 +ustat 62 +utime 30 +utimensat 301 +utimensat_time64 412 +utimes 336 +utrap_install +vfork 113 +vhangup 111 +vm86 +vm86old +vmsplice 294 +wait4 114 +waitid 235 +waitpid 7 +write 4 +writev 146 diff --git a/src/basic/syscalls-riscv32.txt b/src/basic/syscalls-riscv32.txt index 2a4aceff94..50f4de65b8 100644 --- a/src/basic/syscalls-riscv32.txt +++ b/src/basic/syscalls-riscv32.txt @@ -204,7 +204,7 @@ madvise 233 mbind 235 membarrier 283 memfd_create 279 -memfd_secret +memfd_secret 447 memory_ordering migrate_pages 238 mincore 232 diff --git a/src/basic/syscalls-riscv64.txt b/src/basic/syscalls-riscv64.txt index 07d1d4253a..afa33b2bcc 100644 --- a/src/basic/syscalls-riscv64.txt +++ b/src/basic/syscalls-riscv64.txt @@ -204,7 +204,7 @@ madvise 233 mbind 235 membarrier 283 memfd_create 279 -memfd_secret +memfd_secret 447 memory_ordering migrate_pages 238 mincore 232