qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

linux-user, s390x: add syscall table generation support

Copy syscall.tbl from linux/arch/s390x/kernel/syscalls v5.5
Copy syscallhdr.sh from m68k.

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20200310103403.3284090-12-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>

+480 -332
+2 -1
configure
··· 1889 1889 1890 1890 # Remove syscall_nr.h to be sure they will be regenerated in the build 1891 1891 # directory, not in the source directory 1892 - for arch in alpha hppa m68k xtensa sh4 microblaze arm ppc ; do 1892 + for arch in alpha hppa m68k xtensa sh4 microblaze arm ppc s390x ; do 1893 1893 # remove the file if it has been generated in the source directory 1894 1894 rm -f "${source_path}/linux-user/${arch}/syscall_nr.h" 1895 1895 # remove the dependency files ··· 7912 7912 echo "TARGET_ABI32=y" >> $config_target_mak 7913 7913 ;; 7914 7914 s390x) 7915 + TARGET_SYSTBL_ABI=common,64 7915 7916 mttcg=yes 7916 7917 gdb_xml_files="s390x-core64.xml s390-acr.xml s390-fpr.xml s390-vx.xml s390-cr.xml s390-virt.xml s390-gs.xml" 7917 7918 ;;
+1
linux-user/Makefile.objs
··· 14 14 obj-$(TARGET_MICROBLAZE) += microblaze/ 15 15 obj-$(TARGET_PPC) += ppc/ 16 16 obj-$(TARGET_PPC64) += ppc/ 17 + obj-$(TARGET_S390X) += s390x/ 17 18 obj-$(TARGET_SH4) += sh4/ 18 19 obj-$(TARGET_XTENSA) += xtensa/
+5
linux-user/s390x/Makefile.objs
··· 1 + generated-files-y += linux-user/s390x/syscall_nr.h 2 + 3 + syshdr := $(SRC_PATH)/linux-user/s390x/syscallhdr.sh 4 + %/syscall_nr.h: $(SRC_PATH)/linux-user/s390x/syscall.tbl $(syshdr) 5 + $(call quiet-command, sh $(syshdr) $< $@ $(TARGET_SYSTBL_ABI),"GEN","$@")
+440
linux-user/s390x/syscall.tbl
··· 1 + # SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note 2 + # 3 + # System call table for s390 4 + # 5 + # Format: 6 + # 7 + # <nr> <abi> <syscall> <entry-64bit> <compat-entry> 8 + # 9 + # where <abi> can be common, 64, or 32 10 + 11 + 1 common exit sys_exit sys_exit 12 + 2 common fork sys_fork sys_fork 13 + 3 common read sys_read compat_sys_s390_read 14 + 4 common write sys_write compat_sys_s390_write 15 + 5 common open sys_open compat_sys_open 16 + 6 common close sys_close sys_close 17 + 7 common restart_syscall sys_restart_syscall sys_restart_syscall 18 + 8 common creat sys_creat sys_creat 19 + 9 common link sys_link sys_link 20 + 10 common unlink sys_unlink sys_unlink 21 + 11 common execve sys_execve compat_sys_execve 22 + 12 common chdir sys_chdir sys_chdir 23 + 13 32 time - sys_time32 24 + 14 common mknod sys_mknod sys_mknod 25 + 15 common chmod sys_chmod sys_chmod 26 + 16 32 lchown - sys_lchown16 27 + 19 common lseek sys_lseek compat_sys_lseek 28 + 20 common getpid sys_getpid sys_getpid 29 + 21 common mount sys_mount compat_sys_mount 30 + 22 common umount sys_oldumount sys_oldumount 31 + 23 32 setuid - sys_setuid16 32 + 24 32 getuid - sys_getuid16 33 + 25 32 stime - sys_stime32 34 + 26 common ptrace sys_ptrace compat_sys_ptrace 35 + 27 common alarm sys_alarm sys_alarm 36 + 29 common pause sys_pause sys_pause 37 + 30 common utime sys_utime sys_utime32 38 + 33 common access sys_access sys_access 39 + 34 common nice sys_nice sys_nice 40 + 36 common sync sys_sync sys_sync 41 + 37 common kill sys_kill sys_kill 42 + 38 common rename sys_rename sys_rename 43 + 39 common mkdir sys_mkdir sys_mkdir 44 + 40 common rmdir sys_rmdir sys_rmdir 45 + 41 common dup sys_dup sys_dup 46 + 42 common pipe sys_pipe sys_pipe 47 + 43 common times sys_times compat_sys_times 48 + 45 common brk sys_brk sys_brk 49 + 46 32 setgid - sys_setgid16 50 + 47 32 getgid - sys_getgid16 51 + 48 common signal sys_signal sys_signal 52 + 49 32 geteuid - sys_geteuid16 53 + 50 32 getegid - sys_getegid16 54 + 51 common acct sys_acct sys_acct 55 + 52 common umount2 sys_umount sys_umount 56 + 54 common ioctl sys_ioctl compat_sys_ioctl 57 + 55 common fcntl sys_fcntl compat_sys_fcntl 58 + 57 common setpgid sys_setpgid sys_setpgid 59 + 60 common umask sys_umask sys_umask 60 + 61 common chroot sys_chroot sys_chroot 61 + 62 common ustat sys_ustat compat_sys_ustat 62 + 63 common dup2 sys_dup2 sys_dup2 63 + 64 common getppid sys_getppid sys_getppid 64 + 65 common getpgrp sys_getpgrp sys_getpgrp 65 + 66 common setsid sys_setsid sys_setsid 66 + 67 common sigaction sys_sigaction compat_sys_sigaction 67 + 70 32 setreuid - sys_setreuid16 68 + 71 32 setregid - sys_setregid16 69 + 72 common sigsuspend sys_sigsuspend sys_sigsuspend 70 + 73 common sigpending sys_sigpending compat_sys_sigpending 71 + 74 common sethostname sys_sethostname sys_sethostname 72 + 75 common setrlimit sys_setrlimit compat_sys_setrlimit 73 + 76 32 getrlimit - compat_sys_old_getrlimit 74 + 77 common getrusage sys_getrusage compat_sys_getrusage 75 + 78 common gettimeofday sys_gettimeofday compat_sys_gettimeofday 76 + 79 common settimeofday sys_settimeofday compat_sys_settimeofday 77 + 80 32 getgroups - sys_getgroups16 78 + 81 32 setgroups - sys_setgroups16 79 + 83 common symlink sys_symlink sys_symlink 80 + 85 common readlink sys_readlink sys_readlink 81 + 86 common uselib sys_uselib sys_uselib 82 + 87 common swapon sys_swapon sys_swapon 83 + 88 common reboot sys_reboot sys_reboot 84 + 89 common readdir - compat_sys_old_readdir 85 + 90 common mmap sys_old_mmap compat_sys_s390_old_mmap 86 + 91 common munmap sys_munmap sys_munmap 87 + 92 common truncate sys_truncate compat_sys_truncate 88 + 93 common ftruncate sys_ftruncate compat_sys_ftruncate 89 + 94 common fchmod sys_fchmod sys_fchmod 90 + 95 32 fchown - sys_fchown16 91 + 96 common getpriority sys_getpriority sys_getpriority 92 + 97 common setpriority sys_setpriority sys_setpriority 93 + 99 common statfs sys_statfs compat_sys_statfs 94 + 100 common fstatfs sys_fstatfs compat_sys_fstatfs 95 + 101 32 ioperm - - 96 + 102 common socketcall sys_socketcall compat_sys_socketcall 97 + 103 common syslog sys_syslog sys_syslog 98 + 104 common setitimer sys_setitimer compat_sys_setitimer 99 + 105 common getitimer sys_getitimer compat_sys_getitimer 100 + 106 common stat sys_newstat compat_sys_newstat 101 + 107 common lstat sys_newlstat compat_sys_newlstat 102 + 108 common fstat sys_newfstat compat_sys_newfstat 103 + 110 common lookup_dcookie sys_lookup_dcookie compat_sys_lookup_dcookie 104 + 111 common vhangup sys_vhangup sys_vhangup 105 + 112 common idle - - 106 + 114 common wait4 sys_wait4 compat_sys_wait4 107 + 115 common swapoff sys_swapoff sys_swapoff 108 + 116 common sysinfo sys_sysinfo compat_sys_sysinfo 109 + 117 common ipc sys_s390_ipc compat_sys_s390_ipc 110 + 118 common fsync sys_fsync sys_fsync 111 + 119 common sigreturn sys_sigreturn compat_sys_sigreturn 112 + 120 common clone sys_clone sys_clone 113 + 121 common setdomainname sys_setdomainname sys_setdomainname 114 + 122 common uname sys_newuname sys_newuname 115 + 124 common adjtimex sys_adjtimex sys_adjtimex_time32 116 + 125 common mprotect sys_mprotect sys_mprotect 117 + 126 common sigprocmask sys_sigprocmask compat_sys_sigprocmask 118 + 127 common create_module - - 119 + 128 common init_module sys_init_module sys_init_module 120 + 129 common delete_module sys_delete_module sys_delete_module 121 + 130 common get_kernel_syms - - 122 + 131 common quotactl sys_quotactl sys_quotactl 123 + 132 common getpgid sys_getpgid sys_getpgid 124 + 133 common fchdir sys_fchdir sys_fchdir 125 + 134 common bdflush sys_bdflush sys_bdflush 126 + 135 common sysfs sys_sysfs sys_sysfs 127 + 136 common personality sys_s390_personality sys_s390_personality 128 + 137 common afs_syscall - - 129 + 138 32 setfsuid - sys_setfsuid16 130 + 139 32 setfsgid - sys_setfsgid16 131 + 140 32 _llseek - sys_llseek 132 + 141 common getdents sys_getdents compat_sys_getdents 133 + 142 32 _newselect - compat_sys_select 134 + 142 64 select sys_select - 135 + 143 common flock sys_flock sys_flock 136 + 144 common msync sys_msync sys_msync 137 + 145 common readv sys_readv compat_sys_readv 138 + 146 common writev sys_writev compat_sys_writev 139 + 147 common getsid sys_getsid sys_getsid 140 + 148 common fdatasync sys_fdatasync sys_fdatasync 141 + 149 common _sysctl sys_sysctl compat_sys_sysctl 142 + 150 common mlock sys_mlock sys_mlock 143 + 151 common munlock sys_munlock sys_munlock 144 + 152 common mlockall sys_mlockall sys_mlockall 145 + 153 common munlockall sys_munlockall sys_munlockall 146 + 154 common sched_setparam sys_sched_setparam sys_sched_setparam 147 + 155 common sched_getparam sys_sched_getparam sys_sched_getparam 148 + 156 common sched_setscheduler sys_sched_setscheduler sys_sched_setscheduler 149 + 157 common sched_getscheduler sys_sched_getscheduler sys_sched_getscheduler 150 + 158 common sched_yield sys_sched_yield sys_sched_yield 151 + 159 common sched_get_priority_max sys_sched_get_priority_max sys_sched_get_priority_max 152 + 160 common sched_get_priority_min sys_sched_get_priority_min sys_sched_get_priority_min 153 + 161 common sched_rr_get_interval sys_sched_rr_get_interval sys_sched_rr_get_interval_time32 154 + 162 common nanosleep sys_nanosleep sys_nanosleep_time32 155 + 163 common mremap sys_mremap sys_mremap 156 + 164 32 setresuid - sys_setresuid16 157 + 165 32 getresuid - sys_getresuid16 158 + 167 common query_module - - 159 + 168 common poll sys_poll sys_poll 160 + 169 common nfsservctl - - 161 + 170 32 setresgid - sys_setresgid16 162 + 171 32 getresgid - sys_getresgid16 163 + 172 common prctl sys_prctl sys_prctl 164 + 173 common rt_sigreturn sys_rt_sigreturn compat_sys_rt_sigreturn 165 + 174 common rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction 166 + 175 common rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask 167 + 176 common rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending 168 + 177 common rt_sigtimedwait sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time32 169 + 178 common rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo 170 + 179 common rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend 171 + 180 common pread64 sys_pread64 compat_sys_s390_pread64 172 + 181 common pwrite64 sys_pwrite64 compat_sys_s390_pwrite64 173 + 182 32 chown - sys_chown16 174 + 183 common getcwd sys_getcwd sys_getcwd 175 + 184 common capget sys_capget sys_capget 176 + 185 common capset sys_capset sys_capset 177 + 186 common sigaltstack sys_sigaltstack compat_sys_sigaltstack 178 + 187 common sendfile sys_sendfile64 compat_sys_sendfile 179 + 188 common getpmsg - - 180 + 189 common putpmsg - - 181 + 190 common vfork sys_vfork sys_vfork 182 + 191 32 ugetrlimit - compat_sys_getrlimit 183 + 191 64 getrlimit sys_getrlimit - 184 + 192 32 mmap2 - compat_sys_s390_mmap2 185 + 193 32 truncate64 - compat_sys_s390_truncate64 186 + 194 32 ftruncate64 - compat_sys_s390_ftruncate64 187 + 195 32 stat64 - compat_sys_s390_stat64 188 + 196 32 lstat64 - compat_sys_s390_lstat64 189 + 197 32 fstat64 - compat_sys_s390_fstat64 190 + 198 32 lchown32 - sys_lchown 191 + 198 64 lchown sys_lchown - 192 + 199 32 getuid32 - sys_getuid 193 + 199 64 getuid sys_getuid - 194 + 200 32 getgid32 - sys_getgid 195 + 200 64 getgid sys_getgid - 196 + 201 32 geteuid32 - sys_geteuid 197 + 201 64 geteuid sys_geteuid - 198 + 202 32 getegid32 - sys_getegid 199 + 202 64 getegid sys_getegid - 200 + 203 32 setreuid32 - sys_setreuid 201 + 203 64 setreuid sys_setreuid - 202 + 204 32 setregid32 - sys_setregid 203 + 204 64 setregid sys_setregid - 204 + 205 32 getgroups32 - sys_getgroups 205 + 205 64 getgroups sys_getgroups - 206 + 206 32 setgroups32 - sys_setgroups 207 + 206 64 setgroups sys_setgroups - 208 + 207 32 fchown32 - sys_fchown 209 + 207 64 fchown sys_fchown - 210 + 208 32 setresuid32 - sys_setresuid 211 + 208 64 setresuid sys_setresuid - 212 + 209 32 getresuid32 - sys_getresuid 213 + 209 64 getresuid sys_getresuid - 214 + 210 32 setresgid32 - sys_setresgid 215 + 210 64 setresgid sys_setresgid - 216 + 211 32 getresgid32 - sys_getresgid 217 + 211 64 getresgid sys_getresgid - 218 + 212 32 chown32 - sys_chown 219 + 212 64 chown sys_chown - 220 + 213 32 setuid32 - sys_setuid 221 + 213 64 setuid sys_setuid - 222 + 214 32 setgid32 - sys_setgid 223 + 214 64 setgid sys_setgid - 224 + 215 32 setfsuid32 - sys_setfsuid 225 + 215 64 setfsuid sys_setfsuid - 226 + 216 32 setfsgid32 - sys_setfsgid 227 + 216 64 setfsgid sys_setfsgid - 228 + 217 common pivot_root sys_pivot_root sys_pivot_root 229 + 218 common mincore sys_mincore sys_mincore 230 + 219 common madvise sys_madvise sys_madvise 231 + 220 common getdents64 sys_getdents64 sys_getdents64 232 + 221 32 fcntl64 - compat_sys_fcntl64 233 + 222 common readahead sys_readahead compat_sys_s390_readahead 234 + 223 32 sendfile64 - compat_sys_sendfile64 235 + 224 common setxattr sys_setxattr sys_setxattr 236 + 225 common lsetxattr sys_lsetxattr sys_lsetxattr 237 + 226 common fsetxattr sys_fsetxattr sys_fsetxattr 238 + 227 common getxattr sys_getxattr sys_getxattr 239 + 228 common lgetxattr sys_lgetxattr sys_lgetxattr 240 + 229 common fgetxattr sys_fgetxattr sys_fgetxattr 241 + 230 common listxattr sys_listxattr sys_listxattr 242 + 231 common llistxattr sys_llistxattr sys_llistxattr 243 + 232 common flistxattr sys_flistxattr sys_flistxattr 244 + 233 common removexattr sys_removexattr sys_removexattr 245 + 234 common lremovexattr sys_lremovexattr sys_lremovexattr 246 + 235 common fremovexattr sys_fremovexattr sys_fremovexattr 247 + 236 common gettid sys_gettid sys_gettid 248 + 237 common tkill sys_tkill sys_tkill 249 + 238 common futex sys_futex sys_futex_time32 250 + 239 common sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity 251 + 240 common sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity 252 + 241 common tgkill sys_tgkill sys_tgkill 253 + 243 common io_setup sys_io_setup compat_sys_io_setup 254 + 244 common io_destroy sys_io_destroy sys_io_destroy 255 + 245 common io_getevents sys_io_getevents sys_io_getevents_time32 256 + 246 common io_submit sys_io_submit compat_sys_io_submit 257 + 247 common io_cancel sys_io_cancel sys_io_cancel 258 + 248 common exit_group sys_exit_group sys_exit_group 259 + 249 common epoll_create sys_epoll_create sys_epoll_create 260 + 250 common epoll_ctl sys_epoll_ctl sys_epoll_ctl 261 + 251 common epoll_wait sys_epoll_wait sys_epoll_wait 262 + 252 common set_tid_address sys_set_tid_address sys_set_tid_address 263 + 253 common fadvise64 sys_fadvise64_64 compat_sys_s390_fadvise64 264 + 254 common timer_create sys_timer_create compat_sys_timer_create 265 + 255 common timer_settime sys_timer_settime sys_timer_settime32 266 + 256 common timer_gettime sys_timer_gettime sys_timer_gettime32 267 + 257 common timer_getoverrun sys_timer_getoverrun sys_timer_getoverrun 268 + 258 common timer_delete sys_timer_delete sys_timer_delete 269 + 259 common clock_settime sys_clock_settime sys_clock_settime32 270 + 260 common clock_gettime sys_clock_gettime sys_clock_gettime32 271 + 261 common clock_getres sys_clock_getres sys_clock_getres_time32 272 + 262 common clock_nanosleep sys_clock_nanosleep sys_clock_nanosleep_time32 273 + 264 32 fadvise64_64 - compat_sys_s390_fadvise64_64 274 + 265 common statfs64 sys_statfs64 compat_sys_statfs64 275 + 266 common fstatfs64 sys_fstatfs64 compat_sys_fstatfs64 276 + 267 common remap_file_pages sys_remap_file_pages sys_remap_file_pages 277 + 268 common mbind sys_mbind compat_sys_mbind 278 + 269 common get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy 279 + 270 common set_mempolicy sys_set_mempolicy compat_sys_set_mempolicy 280 + 271 common mq_open sys_mq_open compat_sys_mq_open 281 + 272 common mq_unlink sys_mq_unlink sys_mq_unlink 282 + 273 common mq_timedsend sys_mq_timedsend sys_mq_timedsend_time32 283 + 274 common mq_timedreceive sys_mq_timedreceive sys_mq_timedreceive_time32 284 + 275 common mq_notify sys_mq_notify compat_sys_mq_notify 285 + 276 common mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr 286 + 277 common kexec_load sys_kexec_load compat_sys_kexec_load 287 + 278 common add_key sys_add_key sys_add_key 288 + 279 common request_key sys_request_key sys_request_key 289 + 280 common keyctl sys_keyctl compat_sys_keyctl 290 + 281 common waitid sys_waitid compat_sys_waitid 291 + 282 common ioprio_set sys_ioprio_set sys_ioprio_set 292 + 283 common ioprio_get sys_ioprio_get sys_ioprio_get 293 + 284 common inotify_init sys_inotify_init sys_inotify_init 294 + 285 common inotify_add_watch sys_inotify_add_watch sys_inotify_add_watch 295 + 286 common inotify_rm_watch sys_inotify_rm_watch sys_inotify_rm_watch 296 + 287 common migrate_pages sys_migrate_pages compat_sys_migrate_pages 297 + 288 common openat sys_openat compat_sys_openat 298 + 289 common mkdirat sys_mkdirat sys_mkdirat 299 + 290 common mknodat sys_mknodat sys_mknodat 300 + 291 common fchownat sys_fchownat sys_fchownat 301 + 292 common futimesat sys_futimesat sys_futimesat_time32 302 + 293 32 fstatat64 - compat_sys_s390_fstatat64 303 + 293 64 newfstatat sys_newfstatat - 304 + 294 common unlinkat sys_unlinkat sys_unlinkat 305 + 295 common renameat sys_renameat sys_renameat 306 + 296 common linkat sys_linkat sys_linkat 307 + 297 common symlinkat sys_symlinkat sys_symlinkat 308 + 298 common readlinkat sys_readlinkat sys_readlinkat 309 + 299 common fchmodat sys_fchmodat sys_fchmodat 310 + 300 common faccessat sys_faccessat sys_faccessat 311 + 301 common pselect6 sys_pselect6 compat_sys_pselect6_time32 312 + 302 common ppoll sys_ppoll compat_sys_ppoll_time32 313 + 303 common unshare sys_unshare sys_unshare 314 + 304 common set_robust_list sys_set_robust_list compat_sys_set_robust_list 315 + 305 common get_robust_list sys_get_robust_list compat_sys_get_robust_list 316 + 306 common splice sys_splice sys_splice 317 + 307 common sync_file_range sys_sync_file_range compat_sys_s390_sync_file_range 318 + 308 common tee sys_tee sys_tee 319 + 309 common vmsplice sys_vmsplice compat_sys_vmsplice 320 + 310 common move_pages sys_move_pages compat_sys_move_pages 321 + 311 common getcpu sys_getcpu sys_getcpu 322 + 312 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait 323 + 313 common utimes sys_utimes sys_utimes_time32 324 + 314 common fallocate sys_fallocate compat_sys_s390_fallocate 325 + 315 common utimensat sys_utimensat sys_utimensat_time32 326 + 316 common signalfd sys_signalfd compat_sys_signalfd 327 + 317 common timerfd - - 328 + 318 common eventfd sys_eventfd sys_eventfd 329 + 319 common timerfd_create sys_timerfd_create sys_timerfd_create 330 + 320 common timerfd_settime sys_timerfd_settime sys_timerfd_settime32 331 + 321 common timerfd_gettime sys_timerfd_gettime sys_timerfd_gettime32 332 + 322 common signalfd4 sys_signalfd4 compat_sys_signalfd4 333 + 323 common eventfd2 sys_eventfd2 sys_eventfd2 334 + 324 common inotify_init1 sys_inotify_init1 sys_inotify_init1 335 + 325 common pipe2 sys_pipe2 sys_pipe2 336 + 326 common dup3 sys_dup3 sys_dup3 337 + 327 common epoll_create1 sys_epoll_create1 sys_epoll_create1 338 + 328 common preadv sys_preadv compat_sys_preadv 339 + 329 common pwritev sys_pwritev compat_sys_pwritev 340 + 330 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo 341 + 331 common perf_event_open sys_perf_event_open sys_perf_event_open 342 + 332 common fanotify_init sys_fanotify_init sys_fanotify_init 343 + 333 common fanotify_mark sys_fanotify_mark compat_sys_fanotify_mark 344 + 334 common prlimit64 sys_prlimit64 sys_prlimit64 345 + 335 common name_to_handle_at sys_name_to_handle_at sys_name_to_handle_at 346 + 336 common open_by_handle_at sys_open_by_handle_at compat_sys_open_by_handle_at 347 + 337 common clock_adjtime sys_clock_adjtime sys_clock_adjtime32 348 + 338 common syncfs sys_syncfs sys_syncfs 349 + 339 common setns sys_setns sys_setns 350 + 340 common process_vm_readv sys_process_vm_readv compat_sys_process_vm_readv 351 + 341 common process_vm_writev sys_process_vm_writev compat_sys_process_vm_writev 352 + 342 common s390_runtime_instr sys_s390_runtime_instr sys_s390_runtime_instr 353 + 343 common kcmp sys_kcmp sys_kcmp 354 + 344 common finit_module sys_finit_module sys_finit_module 355 + 345 common sched_setattr sys_sched_setattr sys_sched_setattr 356 + 346 common sched_getattr sys_sched_getattr sys_sched_getattr 357 + 347 common renameat2 sys_renameat2 sys_renameat2 358 + 348 common seccomp sys_seccomp sys_seccomp 359 + 349 common getrandom sys_getrandom sys_getrandom 360 + 350 common memfd_create sys_memfd_create sys_memfd_create 361 + 351 common bpf sys_bpf sys_bpf 362 + 352 common s390_pci_mmio_write sys_s390_pci_mmio_write sys_s390_pci_mmio_write 363 + 353 common s390_pci_mmio_read sys_s390_pci_mmio_read sys_s390_pci_mmio_read 364 + 354 common execveat sys_execveat compat_sys_execveat 365 + 355 common userfaultfd sys_userfaultfd sys_userfaultfd 366 + 356 common membarrier sys_membarrier sys_membarrier 367 + 357 common recvmmsg sys_recvmmsg compat_sys_recvmmsg_time32 368 + 358 common sendmmsg sys_sendmmsg compat_sys_sendmmsg 369 + 359 common socket sys_socket sys_socket 370 + 360 common socketpair sys_socketpair sys_socketpair 371 + 361 common bind sys_bind sys_bind 372 + 362 common connect sys_connect sys_connect 373 + 363 common listen sys_listen sys_listen 374 + 364 common accept4 sys_accept4 sys_accept4 375 + 365 common getsockopt sys_getsockopt compat_sys_getsockopt 376 + 366 common setsockopt sys_setsockopt compat_sys_setsockopt 377 + 367 common getsockname sys_getsockname sys_getsockname 378 + 368 common getpeername sys_getpeername sys_getpeername 379 + 369 common sendto sys_sendto sys_sendto 380 + 370 common sendmsg sys_sendmsg compat_sys_sendmsg 381 + 371 common recvfrom sys_recvfrom compat_sys_recvfrom 382 + 372 common recvmsg sys_recvmsg compat_sys_recvmsg 383 + 373 common shutdown sys_shutdown sys_shutdown 384 + 374 common mlock2 sys_mlock2 sys_mlock2 385 + 375 common copy_file_range sys_copy_file_range sys_copy_file_range 386 + 376 common preadv2 sys_preadv2 compat_sys_preadv2 387 + 377 common pwritev2 sys_pwritev2 compat_sys_pwritev2 388 + 378 common s390_guarded_storage sys_s390_guarded_storage sys_s390_guarded_storage 389 + 379 common statx sys_statx sys_statx 390 + 380 common s390_sthyi sys_s390_sthyi sys_s390_sthyi 391 + 381 common kexec_file_load sys_kexec_file_load sys_kexec_file_load 392 + 382 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents 393 + 383 common rseq sys_rseq sys_rseq 394 + 384 common pkey_mprotect sys_pkey_mprotect sys_pkey_mprotect 395 + 385 common pkey_alloc sys_pkey_alloc sys_pkey_alloc 396 + 386 common pkey_free sys_pkey_free sys_pkey_free 397 + # room for arch specific syscalls 398 + 392 64 semtimedop sys_semtimedop - 399 + 393 common semget sys_semget sys_semget 400 + 394 common semctl sys_semctl compat_sys_semctl 401 + 395 common shmget sys_shmget sys_shmget 402 + 396 common shmctl sys_shmctl compat_sys_shmctl 403 + 397 common shmat sys_shmat compat_sys_shmat 404 + 398 common shmdt sys_shmdt sys_shmdt 405 + 399 common msgget sys_msgget sys_msgget 406 + 400 common msgsnd sys_msgsnd compat_sys_msgsnd 407 + 401 common msgrcv sys_msgrcv compat_sys_msgrcv 408 + 402 common msgctl sys_msgctl compat_sys_msgctl 409 + 403 32 clock_gettime64 - sys_clock_gettime 410 + 404 32 clock_settime64 - sys_clock_settime 411 + 405 32 clock_adjtime64 - sys_clock_adjtime 412 + 406 32 clock_getres_time64 - sys_clock_getres 413 + 407 32 clock_nanosleep_time64 - sys_clock_nanosleep 414 + 408 32 timer_gettime64 - sys_timer_gettime 415 + 409 32 timer_settime64 - sys_timer_settime 416 + 410 32 timerfd_gettime64 - sys_timerfd_gettime 417 + 411 32 timerfd_settime64 - sys_timerfd_settime 418 + 412 32 utimensat_time64 - sys_utimensat 419 + 413 32 pselect6_time64 - compat_sys_pselect6_time64 420 + 414 32 ppoll_time64 - compat_sys_ppoll_time64 421 + 416 32 io_pgetevents_time64 - sys_io_pgetevents 422 + 417 32 recvmmsg_time64 - compat_sys_recvmmsg_time64 423 + 418 32 mq_timedsend_time64 - sys_mq_timedsend 424 + 419 32 mq_timedreceive_time64 - sys_mq_timedreceive 425 + 420 32 semtimedop_time64 - sys_semtimedop 426 + 421 32 rt_sigtimedwait_time64 - compat_sys_rt_sigtimedwait_time64 427 + 422 32 futex_time64 - sys_futex 428 + 423 32 sched_rr_get_interval_time64 - sys_sched_rr_get_interval 429 + 424 common pidfd_send_signal sys_pidfd_send_signal sys_pidfd_send_signal 430 + 425 common io_uring_setup sys_io_uring_setup sys_io_uring_setup 431 + 426 common io_uring_enter sys_io_uring_enter sys_io_uring_enter 432 + 427 common io_uring_register sys_io_uring_register sys_io_uring_register 433 + 428 common open_tree sys_open_tree sys_open_tree 434 + 429 common move_mount sys_move_mount sys_move_mount 435 + 430 common fsopen sys_fsopen sys_fsopen 436 + 431 common fsconfig sys_fsconfig sys_fsconfig 437 + 432 common fsmount sys_fsmount sys_fsmount 438 + 433 common fspick sys_fspick sys_fspick 439 + 434 common pidfd_open sys_pidfd_open sys_pidfd_open 440 + 435 common clone3 sys_clone3 sys_clone3
-331
linux-user/s390x/syscall_nr.h
··· 1 - /* 2 - * This file contains the system call numbers. 3 - */ 4 - 5 - #ifndef LINUX_USER_S390X_SYSCALL_NR_H 6 - #define LINUX_USER_S390X_SYSCALL_NR_H 7 - 8 - #define TARGET_NR_exit 1 9 - #define TARGET_NR_fork 2 10 - #define TARGET_NR_read 3 11 - #define TARGET_NR_write 4 12 - #define TARGET_NR_open 5 13 - #define TARGET_NR_close 6 14 - #define TARGET_NR_restart_syscall 7 15 - #define TARGET_NR_creat 8 16 - #define TARGET_NR_link 9 17 - #define TARGET_NR_unlink 10 18 - #define TARGET_NR_execve 11 19 - #define TARGET_NR_chdir 12 20 - #define TARGET_NR_mknod 14 21 - #define TARGET_NR_chmod 15 22 - #define TARGET_NR_lseek 19 23 - #define TARGET_NR_getpid 20 24 - #define TARGET_NR_mount 21 25 - #define TARGET_NR_umount 22 26 - #define TARGET_NR_ptrace 26 27 - #define TARGET_NR_alarm 27 28 - #define TARGET_NR_pause 29 29 - #define TARGET_NR_utime 30 30 - #define TARGET_NR_access 33 31 - #define TARGET_NR_nice 34 32 - #define TARGET_NR_sync 36 33 - #define TARGET_NR_kill 37 34 - #define TARGET_NR_rename 38 35 - #define TARGET_NR_mkdir 39 36 - #define TARGET_NR_rmdir 40 37 - #define TARGET_NR_dup 41 38 - #define TARGET_NR_pipe 42 39 - #define TARGET_NR_times 43 40 - #define TARGET_NR_brk 45 41 - #define TARGET_NR_signal 48 42 - #define TARGET_NR_acct 51 43 - #define TARGET_NR_umount2 52 44 - #define TARGET_NR_ioctl 54 45 - #define TARGET_NR_fcntl 55 46 - #define TARGET_NR_setpgid 57 47 - #define TARGET_NR_umask 60 48 - #define TARGET_NR_chroot 61 49 - #define TARGET_NR_ustat 62 50 - #define TARGET_NR_dup2 63 51 - #define TARGET_NR_getppid 64 52 - #define TARGET_NR_getpgrp 65 53 - #define TARGET_NR_setsid 66 54 - #define TARGET_NR_sigaction 67 55 - #define TARGET_NR_sigsuspend 72 56 - #define TARGET_NR_sigpending 73 57 - #define TARGET_NR_sethostname 74 58 - #define TARGET_NR_setrlimit 75 59 - #define TARGET_NR_getrusage 77 60 - #define TARGET_NR_gettimeofday 78 61 - #define TARGET_NR_settimeofday 79 62 - #define TARGET_NR_symlink 83 63 - #define TARGET_NR_readlink 85 64 - #define TARGET_NR_uselib 86 65 - #define TARGET_NR_swapon 87 66 - #define TARGET_NR_reboot 88 67 - #define TARGET_NR_readdir 89 68 - #define TARGET_NR_mmap 90 69 - #define TARGET_NR_munmap 91 70 - #define TARGET_NR_truncate 92 71 - #define TARGET_NR_ftruncate 93 72 - #define TARGET_NR_fchmod 94 73 - #define TARGET_NR_getpriority 96 74 - #define TARGET_NR_setpriority 97 75 - #define TARGET_NR_statfs 99 76 - #define TARGET_NR_fstatfs 100 77 - #define TARGET_NR_socketcall 102 78 - #define TARGET_NR_syslog 103 79 - #define TARGET_NR_setitimer 104 80 - #define TARGET_NR_getitimer 105 81 - #define TARGET_NR_stat 106 82 - #define TARGET_NR_lstat 107 83 - #define TARGET_NR_fstat 108 84 - #define TARGET_NR_lookup_dcookie 110 85 - #define TARGET_NR_vhangup 111 86 - #define TARGET_NR_idle 112 87 - #define TARGET_NR_wait4 114 88 - #define TARGET_NR_swapoff 115 89 - #define TARGET_NR_sysinfo 116 90 - #define TARGET_NR_ipc 117 91 - #define TARGET_NR_fsync 118 92 - #define TARGET_NR_sigreturn 119 93 - #define TARGET_NR_clone 120 94 - #define TARGET_NR_setdomainname 121 95 - #define TARGET_NR_uname 122 96 - #define TARGET_NR_adjtimex 124 97 - #define TARGET_NR_mprotect 125 98 - #define TARGET_NR_sigprocmask 126 99 - #define TARGET_NR_create_module 127 100 - #define TARGET_NR_init_module 128 101 - #define TARGET_NR_delete_module 129 102 - #define TARGET_NR_get_kernel_syms 130 103 - #define TARGET_NR_quotactl 131 104 - #define TARGET_NR_getpgid 132 105 - #define TARGET_NR_fchdir 133 106 - #define TARGET_NR_bdflush 134 107 - #define TARGET_NR_sysfs 135 108 - #define TARGET_NR_personality 136 109 - #define TARGET_NR_afs_syscall 137 /* Syscall for Andrew File System */ 110 - #define TARGET_NR_getdents 141 111 - #define TARGET_NR_select 142 112 - #define TARGET_NR_flock 143 113 - #define TARGET_NR_msync 144 114 - #define TARGET_NR_readv 145 115 - #define TARGET_NR_writev 146 116 - #define TARGET_NR_getsid 147 117 - #define TARGET_NR_fdatasync 148 118 - #define TARGET_NR__sysctl 149 119 - #define TARGET_NR_mlock 150 120 - #define TARGET_NR_munlock 151 121 - #define TARGET_NR_mlockall 152 122 - #define TARGET_NR_munlockall 153 123 - #define TARGET_NR_sched_setparam 154 124 - #define TARGET_NR_sched_getparam 155 125 - #define TARGET_NR_sched_setscheduler 156 126 - #define TARGET_NR_sched_getscheduler 157 127 - #define TARGET_NR_sched_yield 158 128 - #define TARGET_NR_sched_get_priority_max 159 129 - #define TARGET_NR_sched_get_priority_min 160 130 - #define TARGET_NR_sched_rr_get_interval 161 131 - #define TARGET_NR_nanosleep 162 132 - #define TARGET_NR_mremap 163 133 - #define TARGET_NR_query_module 167 134 - #define TARGET_NR_poll 168 135 - #define TARGET_NR_nfsservctl 169 136 - #define TARGET_NR_prctl 172 137 - #define TARGET_NR_rt_sigreturn 173 138 - #define TARGET_NR_rt_sigaction 174 139 - #define TARGET_NR_rt_sigprocmask 175 140 - #define TARGET_NR_rt_sigpending 176 141 - #define TARGET_NR_rt_sigtimedwait 177 142 - #define TARGET_NR_rt_sigqueueinfo 178 143 - #define TARGET_NR_rt_sigsuspend 179 144 - #define TARGET_NR_pread64 180 145 - #define TARGET_NR_pwrite64 181 146 - #define TARGET_NR_getcwd 183 147 - #define TARGET_NR_capget 184 148 - #define TARGET_NR_capset 185 149 - #define TARGET_NR_sigaltstack 186 150 - #define TARGET_NR_sendfile 187 151 - #define TARGET_NR_getpmsg 188 152 - #define TARGET_NR_putpmsg 189 153 - #define TARGET_NR_vfork 190 154 - #define TARGET_NR_getrlimit 191 /* SuS compliant getrlimit */ 155 - #define TARGET_NR_lchown 198 156 - #define TARGET_NR_getuid 199 157 - #define TARGET_NR_getgid 200 158 - #define TARGET_NR_geteuid 201 159 - #define TARGET_NR_getegid 202 160 - #define TARGET_NR_setreuid 203 161 - #define TARGET_NR_setregid 204 162 - #define TARGET_NR_getgroups 205 163 - #define TARGET_NR_setgroups 206 164 - #define TARGET_NR_fchown 207 165 - #define TARGET_NR_setresuid 208 166 - #define TARGET_NR_getresuid 209 167 - #define TARGET_NR_setresgid 210 168 - #define TARGET_NR_getresgid 211 169 - #define TARGET_NR_chown 212 170 - #define TARGET_NR_setuid 213 171 - #define TARGET_NR_setgid 214 172 - #define TARGET_NR_setfsuid 215 173 - #define TARGET_NR_setfsgid 216 174 - #define TARGET_NR_pivot_root 217 175 - #define TARGET_NR_mincore 218 176 - #define TARGET_NR_madvise 219 177 - #define TARGET_NR_getdents64 220 178 - #define TARGET_NR_readahead 222 179 - #define TARGET_NR_setxattr 224 180 - #define TARGET_NR_lsetxattr 225 181 - #define TARGET_NR_fsetxattr 226 182 - #define TARGET_NR_getxattr 227 183 - #define TARGET_NR_lgetxattr 228 184 - #define TARGET_NR_fgetxattr 229 185 - #define TARGET_NR_listxattr 230 186 - #define TARGET_NR_llistxattr 231 187 - #define TARGET_NR_flistxattr 232 188 - #define TARGET_NR_removexattr 233 189 - #define TARGET_NR_lremovexattr 234 190 - #define TARGET_NR_fremovexattr 235 191 - #define TARGET_NR_gettid 236 192 - #define TARGET_NR_tkill 237 193 - #define TARGET_NR_futex 238 194 - #define TARGET_NR_sched_setaffinity 239 195 - #define TARGET_NR_sched_getaffinity 240 196 - #define TARGET_NR_tgkill 241 197 - /* Number 242 is reserved for tux */ 198 - #define TARGET_NR_io_setup 243 199 - #define TARGET_NR_io_destroy 244 200 - #define TARGET_NR_io_getevents 245 201 - #define TARGET_NR_io_submit 246 202 - #define TARGET_NR_io_cancel 247 203 - #define TARGET_NR_exit_group 248 204 - #define TARGET_NR_epoll_create 249 205 - #define TARGET_NR_epoll_ctl 250 206 - #define TARGET_NR_epoll_wait 251 207 - #define TARGET_NR_set_tid_address 252 208 - #define TARGET_NR_fadvise64 253 209 - #define TARGET_NR_timer_create 254 210 - #define TARGET_NR_timer_settime (TARGET_NR_timer_create + 1) 211 - #define TARGET_NR_timer_gettime (TARGET_NR_timer_create + 2) 212 - #define TARGET_NR_timer_getoverrun (TARGET_NR_timer_create + 3) 213 - #define TARGET_NR_timer_delete (TARGET_NR_timer_create + 4) 214 - #define TARGET_NR_clock_settime (TARGET_NR_timer_create + 5) 215 - #define TARGET_NR_clock_gettime (TARGET_NR_timer_create + 6) 216 - #define TARGET_NR_clock_getres (TARGET_NR_timer_create + 7) 217 - #define TARGET_NR_clock_nanosleep (TARGET_NR_timer_create + 8) 218 - /* Number 263 is reserved for vserver */ 219 - #define TARGET_NR_statfs64 265 220 - #define TARGET_NR_fstatfs64 266 221 - #define TARGET_NR_remap_file_pages 267 222 - /* Number 268 is reserved for new sys_mbind */ 223 - /* Number 269 is reserved for new sys_get_mempolicy */ 224 - /* Number 270 is reserved for new sys_set_mempolicy */ 225 - #define TARGET_NR_mq_open 271 226 - #define TARGET_NR_mq_unlink 272 227 - #define TARGET_NR_mq_timedsend 273 228 - #define TARGET_NR_mq_timedreceive 274 229 - #define TARGET_NR_mq_notify 275 230 - #define TARGET_NR_mq_getsetattr 276 231 - #define TARGET_NR_kexec_load 277 232 - #define TARGET_NR_add_key 278 233 - #define TARGET_NR_request_key 279 234 - #define TARGET_NR_keyctl 280 235 - #define TARGET_NR_waitid 281 236 - #define TARGET_NR_ioprio_set 282 237 - #define TARGET_NR_ioprio_get 283 238 - #define TARGET_NR_inotify_init 284 239 - #define TARGET_NR_inotify_add_watch 285 240 - #define TARGET_NR_inotify_rm_watch 286 241 - /* Number 287 is reserved for new sys_migrate_pages */ 242 - #define TARGET_NR_openat 288 243 - #define TARGET_NR_mkdirat 289 244 - #define TARGET_NR_mknodat 290 245 - #define TARGET_NR_fchownat 291 246 - #define TARGET_NR_futimesat 292 247 - #define TARGET_NR_newfstatat 293 248 - #define TARGET_NR_unlinkat 294 249 - #define TARGET_NR_renameat 295 250 - #define TARGET_NR_linkat 296 251 - #define TARGET_NR_symlinkat 297 252 - #define TARGET_NR_readlinkat 298 253 - #define TARGET_NR_fchmodat 299 254 - #define TARGET_NR_faccessat 300 255 - #define TARGET_NR_pselect6 301 256 - #define TARGET_NR_ppoll 302 257 - #define TARGET_NR_unshare 303 258 - #define TARGET_NR_set_robust_list 304 259 - #define TARGET_NR_get_robust_list 305 260 - #define TARGET_NR_splice 306 261 - #define TARGET_NR_sync_file_range 307 262 - #define TARGET_NR_tee 308 263 - #define TARGET_NR_vmsplice 309 264 - /* Number 310 is reserved for new sys_move_pages */ 265 - #define TARGET_NR_getcpu 311 266 - #define TARGET_NR_epoll_pwait 312 267 - #define TARGET_NR_utimes 313 268 - #define TARGET_NR_fallocate 314 269 - #define TARGET_NR_utimensat 315 270 - #define TARGET_NR_signalfd 316 271 - #define TARGET_NR_timerfd 317 272 - #define TARGET_NR_eventfd 318 273 - #define TARGET_NR_timerfd_create 319 274 - #define TARGET_NR_timerfd_settime 320 275 - #define TARGET_NR_timerfd_gettime 321 276 - #define TARGET_NR_signalfd4 322 277 - #define TARGET_NR_eventfd2 323 278 - #define TARGET_NR_inotify_init1 324 279 - #define TARGET_NR_pipe2 325 280 - #define TARGET_NR_dup3 326 281 - #define TARGET_NR_epoll_create1 327 282 - #define TARGET_NR_preadv 328 283 - #define TARGET_NR_pwritev 329 284 - #define TARGET_NR_rt_tgsigqueueinfo 330 285 - #define TARGET_NR_perf_event_open 331 286 - #define TARGET_NR_fanotify_init 332 287 - #define TARGET_NR_fanotify_mark 333 288 - #define TARGET_NR_prlimit64 334 289 - #define TARGET_NR_name_to_handle_at 335 290 - #define TARGET_NR_open_by_handle_at 336 291 - #define TARGET_NR_clock_adjtime 337 292 - #define TARGET_NR_syncfs 338 293 - #define TARGET_NR_setns 339 294 - #define TARGET_NR_process_vm_readv 340 295 - #define TARGET_NR_process_vm_writev 341 296 - #define TARGET_NR_s390_runtime_instr 342 297 - #define TARGET_NR_kcmp 343 298 - #define TARGET_NR_finit_module 344 299 - #define TARGET_NR_sched_setattr 345 300 - #define TARGET_NR_sched_getattr 346 301 - #define TARGET_NR_renameat2 347 302 - #define TARGET_NR_seccomp 348 303 - #define TARGET_NR_getrandom 349 304 - #define TARGET_NR_memfd_create 350 305 - #define TARGET_NR_bpf 351 306 - #define TARGET_NR_s390_pci_mmio_write 352 307 - #define TARGET_NR_s390_pci_mmio_read 353 308 - #define TARGET_NR_execveat 354 309 - #define TARGET_NR_userfaultfd 355 310 - #define TARGET_NR_membarrier 356 311 - #define TARGET_NR_recvmmsg 357 312 - #define TARGET_NR_sendmmsg 358 313 - #define TARGET_NR_socket 359 314 - #define TARGET_NR_socketpair 360 315 - #define TARGET_NR_bind 361 316 - #define TARGET_NR_connect 362 317 - #define TARGET_NR_listen 363 318 - #define TARGET_NR_accept4 364 319 - #define TARGET_NR_getsockopt 365 320 - #define TARGET_NR_setsockopt 366 321 - #define TARGET_NR_getsockname 367 322 - #define TARGET_NR_getpeername 368 323 - #define TARGET_NR_sendto 369 324 - #define TARGET_NR_sendmsg 370 325 - #define TARGET_NR_recvfrom 371 326 - #define TARGET_NR_recvmsg 372 327 - #define TARGET_NR_shutdown 373 328 - #define TARGET_NR_mlock2 374 329 - 330 - 331 - #endif
+32
linux-user/s390x/syscallhdr.sh
··· 1 + #!/bin/sh 2 + # SPDX-License-Identifier: GPL-2.0 3 + 4 + in="$1" 5 + out="$2" 6 + my_abis=`echo "($3)" | tr ',' '|'` 7 + prefix="$4" 8 + offset="$5" 9 + 10 + fileguard=LINUX_USER_S390X_`basename "$out" | sed \ 11 + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ 12 + -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'` 13 + grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | ( 14 + printf "#ifndef %s\n" "${fileguard}" 15 + printf "#define %s\n" "${fileguard}" 16 + printf "\n" 17 + 18 + nxt=0 19 + while read nr abi name entry ; do 20 + if [ -z "$offset" ]; then 21 + printf "#define TARGET_NR_%s%s\t%s\n" \ 22 + "${prefix}" "${name}" "${nr}" 23 + else 24 + printf "#define TARGET_NR_%s%s\t(%s + %s)\n" \ 25 + "${prefix}" "${name}" "${offset}" "${nr}" 26 + fi 27 + nxt=$((nr+1)) 28 + done 29 + 30 + printf "\n" 31 + printf "#endif /* %s */\n" "${fileguard}" 32 + ) > "$out"