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

linux-user, xtensa: add syscall table generation support

Copy syscall.tbl and syscallhdr.sh from linux/arch/xtensa/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h

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

+448 -470
+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 ; do 1892 + for arch in alpha hppa m68k xtensa ; 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 ··· 7916 7916 ;; 7917 7917 xtensa|xtensaeb) 7918 7918 TARGET_ARCH=xtensa 7919 + TARGET_SYSTBL_ABI=common 7919 7920 bflt="yes" 7920 7921 mttcg="yes" 7921 7922 ;;
+1
linux-user/Makefile.objs
··· 12 12 obj-$(TARGET_ALPHA) += alpha/ 13 13 obj-$(TARGET_HPPA) += hppa/ 14 14 obj-$(TARGET_M68K) += m68k/ 15 + obj-$(TARGET_XTENSA) += xtensa/
+5
linux-user/xtensa/Makefile.objs
··· 1 + generated-files-y += linux-user/xtensa/syscall_nr.h 2 + 3 + syshdr := $(SRC_PATH)/linux-user/xtensa/syscallhdr.sh 4 + %/syscall_nr.h: $(SRC_PATH)/linux-user/xtensa/syscall.tbl $(syshdr) 5 + $(call quiet-command, sh $(syshdr) $< $@ $(TARGET_SYSTBL_ABI),"GEN","$@")
+408
linux-user/xtensa/syscall.tbl
··· 1 + # SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note 2 + # 3 + # system call numbers and entry vectors for xtensa 4 + # 5 + # The format is: 6 + # <number> <abi> <name> <entry point> 7 + # 8 + # The <abi> is always "common" for this file 9 + # 10 + 0 common spill sys_ni_syscall 11 + 1 common xtensa sys_ni_syscall 12 + 2 common available4 sys_ni_syscall 13 + 3 common available5 sys_ni_syscall 14 + 4 common available6 sys_ni_syscall 15 + 5 common available7 sys_ni_syscall 16 + 6 common available8 sys_ni_syscall 17 + 7 common available9 sys_ni_syscall 18 + # File Operations 19 + 8 common open sys_open 20 + 9 common close sys_close 21 + 10 common dup sys_dup 22 + 11 common dup2 sys_dup2 23 + 12 common read sys_read 24 + 13 common write sys_write 25 + 14 common select sys_select 26 + 15 common lseek sys_lseek 27 + 16 common poll sys_poll 28 + 17 common _llseek sys_llseek 29 + 18 common epoll_wait sys_epoll_wait 30 + 19 common epoll_ctl sys_epoll_ctl 31 + 20 common epoll_create sys_epoll_create 32 + 21 common creat sys_creat 33 + 22 common truncate sys_truncate 34 + 23 common ftruncate sys_ftruncate 35 + 24 common readv sys_readv 36 + 25 common writev sys_writev 37 + 26 common fsync sys_fsync 38 + 27 common fdatasync sys_fdatasync 39 + 28 common truncate64 sys_truncate64 40 + 29 common ftruncate64 sys_ftruncate64 41 + 30 common pread64 sys_pread64 42 + 31 common pwrite64 sys_pwrite64 43 + 32 common link sys_link 44 + 33 common rename sys_rename 45 + 34 common symlink sys_symlink 46 + 35 common readlink sys_readlink 47 + 36 common mknod sys_mknod 48 + 37 common pipe sys_pipe 49 + 38 common unlink sys_unlink 50 + 39 common rmdir sys_rmdir 51 + 40 common mkdir sys_mkdir 52 + 41 common chdir sys_chdir 53 + 42 common fchdir sys_fchdir 54 + 43 common getcwd sys_getcwd 55 + 44 common chmod sys_chmod 56 + 45 common chown sys_chown 57 + 46 common stat sys_newstat 58 + 47 common stat64 sys_stat64 59 + 48 common lchown sys_lchown 60 + 49 common lstat sys_newlstat 61 + 50 common lstat64 sys_lstat64 62 + 51 common available51 sys_ni_syscall 63 + 52 common fchmod sys_fchmod 64 + 53 common fchown sys_fchown 65 + 54 common fstat sys_newfstat 66 + 55 common fstat64 sys_fstat64 67 + 56 common flock sys_flock 68 + 57 common access sys_access 69 + 58 common umask sys_umask 70 + 59 common getdents sys_getdents 71 + 60 common getdents64 sys_getdents64 72 + 61 common fcntl64 sys_fcntl64 73 + 62 common fallocate sys_fallocate 74 + 63 common fadvise64_64 xtensa_fadvise64_64 75 + 64 common utime sys_utime32 76 + 65 common utimes sys_utimes_time32 77 + 66 common ioctl sys_ioctl 78 + 67 common fcntl sys_fcntl 79 + 68 common setxattr sys_setxattr 80 + 69 common getxattr sys_getxattr 81 + 70 common listxattr sys_listxattr 82 + 71 common removexattr sys_removexattr 83 + 72 common lsetxattr sys_lsetxattr 84 + 73 common lgetxattr sys_lgetxattr 85 + 74 common llistxattr sys_llistxattr 86 + 75 common lremovexattr sys_lremovexattr 87 + 76 common fsetxattr sys_fsetxattr 88 + 77 common fgetxattr sys_fgetxattr 89 + 78 common flistxattr sys_flistxattr 90 + 79 common fremovexattr sys_fremovexattr 91 + # File Map / Shared Memory Operations 92 + 80 common mmap2 sys_mmap_pgoff 93 + 81 common munmap sys_munmap 94 + 82 common mprotect sys_mprotect 95 + 83 common brk sys_brk 96 + 84 common mlock sys_mlock 97 + 85 common munlock sys_munlock 98 + 86 common mlockall sys_mlockall 99 + 87 common munlockall sys_munlockall 100 + 88 common mremap sys_mremap 101 + 89 common msync sys_msync 102 + 90 common mincore sys_mincore 103 + 91 common madvise sys_madvise 104 + 92 common shmget sys_shmget 105 + 93 common shmat xtensa_shmat 106 + 94 common shmctl sys_old_shmctl 107 + 95 common shmdt sys_shmdt 108 + # Socket Operations 109 + 96 common socket sys_socket 110 + 97 common setsockopt sys_setsockopt 111 + 98 common getsockopt sys_getsockopt 112 + 99 common shutdown sys_shutdown 113 + 100 common bind sys_bind 114 + 101 common connect sys_connect 115 + 102 common listen sys_listen 116 + 103 common accept sys_accept 117 + 104 common getsockname sys_getsockname 118 + 105 common getpeername sys_getpeername 119 + 106 common sendmsg sys_sendmsg 120 + 107 common recvmsg sys_recvmsg 121 + 108 common send sys_send 122 + 109 common recv sys_recv 123 + 110 common sendto sys_sendto 124 + 111 common recvfrom sys_recvfrom 125 + 112 common socketpair sys_socketpair 126 + 113 common sendfile sys_sendfile 127 + 114 common sendfile64 sys_sendfile64 128 + 115 common sendmmsg sys_sendmmsg 129 + # Process Operations 130 + 116 common clone sys_clone 131 + 117 common execve sys_execve 132 + 118 common exit sys_exit 133 + 119 common exit_group sys_exit_group 134 + 120 common getpid sys_getpid 135 + 121 common wait4 sys_wait4 136 + 122 common waitid sys_waitid 137 + 123 common kill sys_kill 138 + 124 common tkill sys_tkill 139 + 125 common tgkill sys_tgkill 140 + 126 common set_tid_address sys_set_tid_address 141 + 127 common gettid sys_gettid 142 + 128 common setsid sys_setsid 143 + 129 common getsid sys_getsid 144 + 130 common prctl sys_prctl 145 + 131 common personality sys_personality 146 + 132 common getpriority sys_getpriority 147 + 133 common setpriority sys_setpriority 148 + 134 common setitimer sys_setitimer 149 + 135 common getitimer sys_getitimer 150 + 136 common setuid sys_setuid 151 + 137 common getuid sys_getuid 152 + 138 common setgid sys_setgid 153 + 139 common getgid sys_getgid 154 + 140 common geteuid sys_geteuid 155 + 141 common getegid sys_getegid 156 + 142 common setreuid sys_setreuid 157 + 143 common setregid sys_setregid 158 + 144 common setresuid sys_setresuid 159 + 145 common getresuid sys_getresuid 160 + 146 common setresgid sys_setresgid 161 + 147 common getresgid sys_getresgid 162 + 148 common setpgid sys_setpgid 163 + 149 common getpgid sys_getpgid 164 + 150 common getppid sys_getppid 165 + 151 common getpgrp sys_getpgrp 166 + # 152 was set_thread_area 167 + 152 common reserved152 sys_ni_syscall 168 + # 153 was get_thread_area 169 + 153 common reserved153 sys_ni_syscall 170 + 154 common times sys_times 171 + 155 common acct sys_acct 172 + 156 common sched_setaffinity sys_sched_setaffinity 173 + 157 common sched_getaffinity sys_sched_getaffinity 174 + 158 common capget sys_capget 175 + 159 common capset sys_capset 176 + 160 common ptrace sys_ptrace 177 + 161 common semtimedop sys_semtimedop_time32 178 + 162 common semget sys_semget 179 + 163 common semop sys_semop 180 + 164 common semctl sys_old_semctl 181 + 165 common available165 sys_ni_syscall 182 + 166 common msgget sys_msgget 183 + 167 common msgsnd sys_msgsnd 184 + 168 common msgrcv sys_msgrcv 185 + 169 common msgctl sys_old_msgctl 186 + 170 common available170 sys_ni_syscall 187 + # File System 188 + 171 common umount2 sys_umount 189 + 172 common mount sys_mount 190 + 173 common swapon sys_swapon 191 + 174 common chroot sys_chroot 192 + 175 common pivot_root sys_pivot_root 193 + 176 common umount sys_oldumount 194 + 177 common swapoff sys_swapoff 195 + 178 common sync sys_sync 196 + 179 common syncfs sys_syncfs 197 + 180 common setfsuid sys_setfsuid 198 + 181 common setfsgid sys_setfsgid 199 + 182 common sysfs sys_sysfs 200 + 183 common ustat sys_ustat 201 + 184 common statfs sys_statfs 202 + 185 common fstatfs sys_fstatfs 203 + 186 common statfs64 sys_statfs64 204 + 187 common fstatfs64 sys_fstatfs64 205 + # System 206 + 188 common setrlimit sys_setrlimit 207 + 189 common getrlimit sys_getrlimit 208 + 190 common getrusage sys_getrusage 209 + 191 common futex sys_futex_time32 210 + 192 common gettimeofday sys_gettimeofday 211 + 193 common settimeofday sys_settimeofday 212 + 194 common adjtimex sys_adjtimex_time32 213 + 195 common nanosleep sys_nanosleep_time32 214 + 196 common getgroups sys_getgroups 215 + 197 common setgroups sys_setgroups 216 + 198 common sethostname sys_sethostname 217 + 199 common setdomainname sys_setdomainname 218 + 200 common syslog sys_syslog 219 + 201 common vhangup sys_vhangup 220 + 202 common uselib sys_uselib 221 + 203 common reboot sys_reboot 222 + 204 common quotactl sys_quotactl 223 + # 205 was old nfsservctl 224 + 205 common nfsservctl sys_ni_syscall 225 + 206 common _sysctl sys_sysctl 226 + 207 common bdflush sys_bdflush 227 + 208 common uname sys_newuname 228 + 209 common sysinfo sys_sysinfo 229 + 210 common init_module sys_init_module 230 + 211 common delete_module sys_delete_module 231 + 212 common sched_setparam sys_sched_setparam 232 + 213 common sched_getparam sys_sched_getparam 233 + 214 common sched_setscheduler sys_sched_setscheduler 234 + 215 common sched_getscheduler sys_sched_getscheduler 235 + 216 common sched_get_priority_max sys_sched_get_priority_max 236 + 217 common sched_get_priority_min sys_sched_get_priority_min 237 + 218 common sched_rr_get_interval sys_sched_rr_get_interval_time32 238 + 219 common sched_yield sys_sched_yield 239 + 222 common available222 sys_ni_syscall 240 + # Signal Handling 241 + 223 common restart_syscall sys_restart_syscall 242 + 224 common sigaltstack sys_sigaltstack 243 + 225 common rt_sigreturn xtensa_rt_sigreturn 244 + 226 common rt_sigaction sys_rt_sigaction 245 + 227 common rt_sigprocmask sys_rt_sigprocmask 246 + 228 common rt_sigpending sys_rt_sigpending 247 + 229 common rt_sigtimedwait sys_rt_sigtimedwait_time32 248 + 230 common rt_sigqueueinfo sys_rt_sigqueueinfo 249 + 231 common rt_sigsuspend sys_rt_sigsuspend 250 + # Message 251 + 232 common mq_open sys_mq_open 252 + 233 common mq_unlink sys_mq_unlink 253 + 234 common mq_timedsend sys_mq_timedsend_time32 254 + 235 common mq_timedreceive sys_mq_timedreceive_time32 255 + 236 common mq_notify sys_mq_notify 256 + 237 common mq_getsetattr sys_mq_getsetattr 257 + 238 common available238 sys_ni_syscall 258 + 239 common io_setup sys_io_setup 259 + # IO 260 + 240 common io_destroy sys_io_destroy 261 + 241 common io_submit sys_io_submit 262 + 242 common io_getevents sys_io_getevents_time32 263 + 243 common io_cancel sys_io_cancel 264 + 244 common clock_settime sys_clock_settime32 265 + 245 common clock_gettime sys_clock_gettime32 266 + 246 common clock_getres sys_clock_getres_time32 267 + 247 common clock_nanosleep sys_clock_nanosleep_time32 268 + # Timer 269 + 248 common timer_create sys_timer_create 270 + 249 common timer_delete sys_timer_delete 271 + 250 common timer_settime sys_timer_settime32 272 + 251 common timer_gettime sys_timer_gettime32 273 + 252 common timer_getoverrun sys_timer_getoverrun 274 + # System 275 + 253 common reserved253 sys_ni_syscall 276 + 254 common lookup_dcookie sys_lookup_dcookie 277 + 255 common available255 sys_ni_syscall 278 + 256 common add_key sys_add_key 279 + 257 common request_key sys_request_key 280 + 258 common keyctl sys_keyctl 281 + 259 common available259 sys_ni_syscall 282 + 260 common readahead sys_readahead 283 + 261 common remap_file_pages sys_remap_file_pages 284 + 262 common migrate_pages sys_migrate_pages 285 + 263 common mbind sys_mbind 286 + 264 common get_mempolicy sys_get_mempolicy 287 + 265 common set_mempolicy sys_set_mempolicy 288 + 266 common unshare sys_unshare 289 + 267 common move_pages sys_move_pages 290 + 268 common splice sys_splice 291 + 269 common tee sys_tee 292 + 270 common vmsplice sys_vmsplice 293 + 271 common available271 sys_ni_syscall 294 + 272 common pselect6 sys_pselect6_time32 295 + 273 common ppoll sys_ppoll_time32 296 + 274 common epoll_pwait sys_epoll_pwait 297 + 275 common epoll_create1 sys_epoll_create1 298 + 276 common inotify_init sys_inotify_init 299 + 277 common inotify_add_watch sys_inotify_add_watch 300 + 278 common inotify_rm_watch sys_inotify_rm_watch 301 + 279 common inotify_init1 sys_inotify_init1 302 + 280 common getcpu sys_getcpu 303 + 281 common kexec_load sys_ni_syscall 304 + 282 common ioprio_set sys_ioprio_set 305 + 283 common ioprio_get sys_ioprio_get 306 + 284 common set_robust_list sys_set_robust_list 307 + 285 common get_robust_list sys_get_robust_list 308 + 286 common available286 sys_ni_syscall 309 + 287 common available287 sys_ni_syscall 310 + # Relative File Operations 311 + 288 common openat sys_openat 312 + 289 common mkdirat sys_mkdirat 313 + 290 common mknodat sys_mknodat 314 + 291 common unlinkat sys_unlinkat 315 + 292 common renameat sys_renameat 316 + 293 common linkat sys_linkat 317 + 294 common symlinkat sys_symlinkat 318 + 295 common readlinkat sys_readlinkat 319 + 296 common utimensat sys_utimensat_time32 320 + 297 common fchownat sys_fchownat 321 + 298 common futimesat sys_futimesat_time32 322 + 299 common fstatat64 sys_fstatat64 323 + 300 common fchmodat sys_fchmodat 324 + 301 common faccessat sys_faccessat 325 + 302 common available302 sys_ni_syscall 326 + 303 common available303 sys_ni_syscall 327 + 304 common signalfd sys_signalfd 328 + # 305 was timerfd 329 + 306 common eventfd sys_eventfd 330 + 307 common recvmmsg sys_recvmmsg_time32 331 + 308 common setns sys_setns 332 + 309 common signalfd4 sys_signalfd4 333 + 310 common dup3 sys_dup3 334 + 311 common pipe2 sys_pipe2 335 + 312 common timerfd_create sys_timerfd_create 336 + 313 common timerfd_settime sys_timerfd_settime32 337 + 314 common timerfd_gettime sys_timerfd_gettime32 338 + 315 common available315 sys_ni_syscall 339 + 316 common eventfd2 sys_eventfd2 340 + 317 common preadv sys_preadv 341 + 318 common pwritev sys_pwritev 342 + 319 common available319 sys_ni_syscall 343 + 320 common fanotify_init sys_fanotify_init 344 + 321 common fanotify_mark sys_fanotify_mark 345 + 322 common process_vm_readv sys_process_vm_readv 346 + 323 common process_vm_writev sys_process_vm_writev 347 + 324 common name_to_handle_at sys_name_to_handle_at 348 + 325 common open_by_handle_at sys_open_by_handle_at 349 + 326 common sync_file_range2 sys_sync_file_range2 350 + 327 common perf_event_open sys_perf_event_open 351 + 328 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo 352 + 329 common clock_adjtime sys_clock_adjtime32 353 + 330 common prlimit64 sys_prlimit64 354 + 331 common kcmp sys_kcmp 355 + 332 common finit_module sys_finit_module 356 + 333 common accept4 sys_accept4 357 + 334 common sched_setattr sys_sched_setattr 358 + 335 common sched_getattr sys_sched_getattr 359 + 336 common renameat2 sys_renameat2 360 + 337 common seccomp sys_seccomp 361 + 338 common getrandom sys_getrandom 362 + 339 common memfd_create sys_memfd_create 363 + 340 common bpf sys_bpf 364 + 341 common execveat sys_execveat 365 + 342 common userfaultfd sys_userfaultfd 366 + 343 common membarrier sys_membarrier 367 + 344 common mlock2 sys_mlock2 368 + 345 common copy_file_range sys_copy_file_range 369 + 346 common preadv2 sys_preadv2 370 + 347 common pwritev2 sys_pwritev2 371 + 348 common pkey_mprotect sys_pkey_mprotect 372 + 349 common pkey_alloc sys_pkey_alloc 373 + 350 common pkey_free sys_pkey_free 374 + 351 common statx sys_statx 375 + 352 common rseq sys_rseq 376 + # 353 through 402 are unassigned to sync up with generic numbers 377 + 403 common clock_gettime64 sys_clock_gettime 378 + 404 common clock_settime64 sys_clock_settime 379 + 405 common clock_adjtime64 sys_clock_adjtime 380 + 406 common clock_getres_time64 sys_clock_getres 381 + 407 common clock_nanosleep_time64 sys_clock_nanosleep 382 + 408 common timer_gettime64 sys_timer_gettime 383 + 409 common timer_settime64 sys_timer_settime 384 + 410 common timerfd_gettime64 sys_timerfd_gettime 385 + 411 common timerfd_settime64 sys_timerfd_settime 386 + 412 common utimensat_time64 sys_utimensat 387 + 413 common pselect6_time64 sys_pselect6 388 + 414 common ppoll_time64 sys_ppoll 389 + 416 common io_pgetevents_time64 sys_io_pgetevents 390 + 417 common recvmmsg_time64 sys_recvmmsg 391 + 418 common mq_timedsend_time64 sys_mq_timedsend 392 + 419 common mq_timedreceive_time64 sys_mq_timedreceive 393 + 420 common semtimedop_time64 sys_semtimedop 394 + 421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait 395 + 422 common futex_time64 sys_futex 396 + 423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval 397 + 424 common pidfd_send_signal sys_pidfd_send_signal 398 + 425 common io_uring_setup sys_io_uring_setup 399 + 426 common io_uring_enter sys_io_uring_enter 400 + 427 common io_uring_register sys_io_uring_register 401 + 428 common open_tree sys_open_tree 402 + 429 common move_mount sys_move_mount 403 + 430 common fsopen sys_fsopen 404 + 431 common fsconfig sys_fsconfig 405 + 432 common fsmount sys_fsmount 406 + 433 common fspick sys_fspick 407 + 434 common pidfd_open sys_pidfd_open 408 + 435 common clone3 sys_clone3
-469
linux-user/xtensa/syscall_nr.h
··· 1 - /* 2 - * include/asm-xtensa/unistd.h 3 - * 4 - * This file is subject to the terms and conditions of the GNU General Public 5 - * License. See the file "COPYING" in the main directory of this archive 6 - * for more details. 7 - * 8 - * Copyright (C) 2001 - 2009 Tensilica Inc. 9 - */ 10 - 11 - #ifndef XTENSA_SYSCALL_NR_H 12 - #define XTENSA_SYSCALL_NR_H 13 - 14 - #define TARGET_NR_spill 0 15 - #define TARGET_NR_xtensa 1 16 - #define TARGET_NR_available4 2 17 - #define TARGET_NR_available5 3 18 - #define TARGET_NR_available6 4 19 - #define TARGET_NR_available7 5 20 - #define TARGET_NR_available8 6 21 - #define TARGET_NR_available9 7 22 - 23 - /* File Operations */ 24 - 25 - #define TARGET_NR_open 8 26 - #define TARGET_NR_close 9 27 - #define TARGET_NR_dup 10 28 - #define TARGET_NR_dup2 11 29 - #define TARGET_NR_read 12 30 - #define TARGET_NR_write 13 31 - #define TARGET_NR_select 14 32 - #define TARGET_NR_lseek 15 33 - #define TARGET_NR_poll 16 34 - #define TARGET_NR__llseek 17 35 - #define TARGET_NR_epoll_wait 18 36 - #define TARGET_NR_epoll_ctl 19 37 - #define TARGET_NR_epoll_create 20 38 - #define TARGET_NR_creat 21 39 - #define TARGET_NR_truncate 22 40 - #define TARGET_NR_ftruncate 23 41 - #define TARGET_NR_readv 24 42 - #define TARGET_NR_writev 25 43 - #define TARGET_NR_fsync 26 44 - #define TARGET_NR_fdatasync 27 45 - #define TARGET_NR_truncate64 28 46 - #define TARGET_NR_ftruncate64 29 47 - #define TARGET_NR_pread64 30 48 - #define TARGET_NR_pwrite64 31 49 - 50 - #define TARGET_NR_link 32 51 - #define TARGET_NR_rename 33 52 - #define TARGET_NR_symlink 34 53 - #define TARGET_NR_readlink 35 54 - #define TARGET_NR_mknod 36 55 - #define TARGET_NR_pipe 37 56 - #define TARGET_NR_unlink 38 57 - #define TARGET_NR_rmdir 39 58 - 59 - #define TARGET_NR_mkdir 40 60 - #define TARGET_NR_chdir 41 61 - #define TARGET_NR_fchdir 42 62 - #define TARGET_NR_getcwd 43 63 - 64 - #define TARGET_NR_chmod 44 65 - #define TARGET_NR_chown 45 66 - #define TARGET_NR_stat 46 67 - #define TARGET_NR_stat64 47 68 - 69 - #define TARGET_NR_lchown 48 70 - #define TARGET_NR_lstat 49 71 - #define TARGET_NR_lstat64 50 72 - #define TARGET_NR_available51 51 73 - 74 - #define TARGET_NR_fchmod 52 75 - #define TARGET_NR_fchown 53 76 - #define TARGET_NR_fstat 54 77 - #define TARGET_NR_fstat64 55 78 - 79 - #define TARGET_NR_flock 56 80 - #define TARGET_NR_access 57 81 - #define TARGET_NR_umask 58 82 - #define TARGET_NR_getdents 59 83 - #define TARGET_NR_getdents64 60 84 - #define TARGET_NR_fcntl64 61 85 - #define TARGET_NR_fallocate 62 86 - #define TARGET_NR_fadvise64_64 63 87 - #define TARGET_NR_utime 64 /* glibc 2.3.3 ?? */ 88 - #define TARGET_NR_utimes 65 89 - #define TARGET_NR_ioctl 66 90 - #define TARGET_NR_fcntl 67 91 - 92 - #define TARGET_NR_setxattr 68 93 - #define TARGET_NR_getxattr 69 94 - #define TARGET_NR_listxattr 70 95 - #define TARGET_NR_removexattr 71 96 - #define TARGET_NR_lsetxattr 72 97 - #define TARGET_NR_lgetxattr 73 98 - #define TARGET_NR_llistxattr 74 99 - #define TARGET_NR_lremovexattr 75 100 - #define TARGET_NR_fsetxattr 76 101 - #define TARGET_NR_fgetxattr 77 102 - #define TARGET_NR_flistxattr 78 103 - #define TARGET_NR_fremovexattr 79 104 - 105 - /* File Map / Shared Memory Operations */ 106 - 107 - #define TARGET_NR_mmap2 80 108 - #define TARGET_NR_munmap 81 109 - #define TARGET_NR_mprotect 82 110 - #define TARGET_NR_brk 83 111 - #define TARGET_NR_mlock 84 112 - #define TARGET_NR_munlock 85 113 - #define TARGET_NR_mlockall 86 114 - #define TARGET_NR_munlockall 87 115 - #define TARGET_NR_mremap 88 116 - #define TARGET_NR_msync 89 117 - #define TARGET_NR_mincore 90 118 - #define TARGET_NR_madvise 91 119 - #define TARGET_NR_shmget 92 120 - #define TARGET_NR_shmat 93 121 - #define TARGET_NR_shmctl 94 122 - #define TARGET_NR_shmdt 95 123 - 124 - /* Socket Operations */ 125 - 126 - #define TARGET_NR_socket 96 127 - #define TARGET_NR_setsockopt 97 128 - #define TARGET_NR_getsockopt 98 129 - #define TARGET_NR_shutdown 99 130 - 131 - #define TARGET_NR_bind 100 132 - #define TARGET_NR_connect 101 133 - #define TARGET_NR_listen 102 134 - #define TARGET_NR_accept 103 135 - 136 - #define TARGET_NR_getsockname 104 137 - #define TARGET_NR_getpeername 105 138 - #define TARGET_NR_sendmsg 106 139 - #define TARGET_NR_recvmsg 107 140 - #define TARGET_NR_send 108 141 - #define TARGET_NR_recv 109 142 - #define TARGET_NR_sendto 110 143 - #define TARGET_NR_recvfrom 111 144 - 145 - #define TARGET_NR_socketpair 112 146 - #define TARGET_NR_sendfile 113 147 - #define TARGET_NR_sendfile64 114 148 - #define TARGET_NR_sendmmsg 115 149 - 150 - /* Process Operations */ 151 - 152 - #define TARGET_NR_clone 116 153 - #define TARGET_NR_execve 117 154 - #define TARGET_NR_exit 118 155 - #define TARGET_NR_exit_group 119 156 - #define TARGET_NR_getpid 120 157 - #define TARGET_NR_wait4 121 158 - #define TARGET_NR_waitid 122 159 - #define TARGET_NR_kill 123 160 - #define TARGET_NR_tkill 124 161 - #define TARGET_NR_tgkill 125 162 - #define TARGET_NR_set_tid_address 126 163 - #define TARGET_NR_gettid 127 164 - #define TARGET_NR_setsid 128 165 - #define TARGET_NR_getsid 129 166 - #define TARGET_NR_prctl 130 167 - #define TARGET_NR_personality 131 168 - #define TARGET_NR_getpriority 132 169 - #define TARGET_NR_setpriority 133 170 - #define TARGET_NR_setitimer 134 171 - #define TARGET_NR_getitimer 135 172 - #define TARGET_NR_setuid 136 173 - #define TARGET_NR_getuid 137 174 - #define TARGET_NR_setgid 138 175 - #define TARGET_NR_getgid 139 176 - #define TARGET_NR_geteuid 140 177 - #define TARGET_NR_getegid 141 178 - #define TARGET_NR_setreuid 142 179 - #define TARGET_NR_setregid 143 180 - #define TARGET_NR_setresuid 144 181 - #define TARGET_NR_getresuid 145 182 - #define TARGET_NR_setresgid 146 183 - #define TARGET_NR_getresgid 147 184 - #define TARGET_NR_setpgid 148 185 - #define TARGET_NR_getpgid 149 186 - #define TARGET_NR_getppid 150 187 - #define TARGET_NR_getpgrp 151 188 - 189 - #define TARGET_NR_reserved152 152 /* set_thread_area */ 190 - #define TARGET_NR_reserved153 153 /* get_thread_area */ 191 - #define TARGET_NR_times 154 192 - #define TARGET_NR_acct 155 193 - #define TARGET_NR_sched_setaffinity 156 194 - #define TARGET_NR_sched_getaffinity 157 195 - #define TARGET_NR_capget 158 196 - #define TARGET_NR_capset 159 197 - #define TARGET_NR_ptrace 160 198 - #define TARGET_NR_semtimedop 161 199 - #define TARGET_NR_semget 162 200 - #define TARGET_NR_semop 163 201 - #define TARGET_NR_semctl 164 202 - #define TARGET_NR_available165 165 203 - #define TARGET_NR_msgget 166 204 - #define TARGET_NR_msgsnd 167 205 - #define TARGET_NR_msgrcv 168 206 - #define TARGET_NR_msgctl 169 207 - #define TARGET_NR_available170 170 208 - 209 - /* File System */ 210 - 211 - #define TARGET_NR_umount2 171 212 - #define TARGET_NR_mount 172 213 - #define TARGET_NR_swapon 173 214 - #define TARGET_NR_chroot 174 215 - #define TARGET_NR_pivot_root 175 216 - #define TARGET_NR_umount 176 217 - #define TARGET_NR_swapoff 177 218 - #define TARGET_NR_sync 178 219 - #define TARGET_NR_syncfs 179 220 - #define TARGET_NR_setfsuid 180 221 - #define TARGET_NR_setfsgid 181 222 - #define TARGET_NR_sysfs 182 223 - #define TARGET_NR_ustat 183 224 - #define TARGET_NR_statfs 184 225 - #define TARGET_NR_fstatfs 185 226 - #define TARGET_NR_statfs64 186 227 - #define TARGET_NR_fstatfs64 187 228 - 229 - /* System */ 230 - 231 - #define TARGET_NR_setrlimit 188 232 - #define TARGET_NR_getrlimit 189 233 - #define TARGET_NR_getrusage 190 234 - #define TARGET_NR_futex 191 235 - #define TARGET_NR_gettimeofday 192 236 - #define TARGET_NR_settimeofday 193 237 - #define TARGET_NR_adjtimex 194 238 - #define TARGET_NR_nanosleep 195 239 - #define TARGET_NR_getgroups 196 240 - #define TARGET_NR_setgroups 197 241 - #define TARGET_NR_sethostname 198 242 - #define TARGET_NR_setdomainname 199 243 - #define TARGET_NR_syslog 200 244 - #define TARGET_NR_vhangup 201 245 - #define TARGET_NR_uselib 202 246 - #define TARGET_NR_reboot 203 247 - #define TARGET_NR_quotactl 204 248 - #define TARGET_NR_nfsservctl 205 249 - #define TARGET_NR__sysctl 206 250 - #define TARGET_NR_bdflush 207 251 - #define TARGET_NR_uname 208 252 - #define TARGET_NR_sysinfo 209 253 - #define TARGET_NR_init_module 210 254 - #define TARGET_NR_delete_module 211 255 - 256 - #define TARGET_NR_sched_setparam 212 257 - #define TARGET_NR_sched_getparam 213 258 - #define TARGET_NR_sched_setscheduler 214 259 - #define TARGET_NR_sched_getscheduler 215 260 - #define TARGET_NR_sched_get_priority_max 216 261 - #define TARGET_NR_sched_get_priority_min 217 262 - #define TARGET_NR_sched_rr_get_interval 218 263 - #define TARGET_NR_sched_yield 219 264 - #define TARGET_NR_available222 222 265 - 266 - /* Signal Handling */ 267 - 268 - #define TARGET_NR_restart_syscall 223 269 - #define TARGET_NR_sigaltstack 224 270 - #define TARGET_NR_rt_sigreturn 225 271 - #define TARGET_NR_rt_sigaction 226 272 - #define TARGET_NR_rt_sigprocmask 227 273 - #define TARGET_NR_rt_sigpending 228 274 - #define TARGET_NR_rt_sigtimedwait 229 275 - #define TARGET_NR_rt_sigqueueinfo 230 276 - #define TARGET_NR_rt_sigsuspend 231 277 - 278 - /* Message */ 279 - 280 - #define TARGET_NR_mq_open 232 281 - #define TARGET_NR_mq_unlink 233 282 - #define TARGET_NR_mq_timedsend 234 283 - #define TARGET_NR_mq_timedreceive 235 284 - #define TARGET_NR_mq_notify 236 285 - #define TARGET_NR_mq_getsetattr 237 286 - #define TARGET_NR_available238 238 287 - 288 - /* IO */ 289 - 290 - #define TARGET_NR_io_setup 239 291 - #define TARGET_NR_io_destroy 240 292 - #define TARGET_NR_io_submit 241 293 - #define TARGET_NR_io_getevents 242 294 - #define TARGET_NR_io_cancel 243 295 - #define TARGET_NR_clock_settime 244 296 - #define TARGET_NR_clock_gettime 245 297 - #define TARGET_NR_clock_getres 246 298 - #define TARGET_NR_clock_nanosleep 247 299 - 300 - /* Timer */ 301 - 302 - #define TARGET_NR_timer_create 248 303 - #define TARGET_NR_timer_delete 249 304 - #define TARGET_NR_timer_settime 250 305 - #define TARGET_NR_timer_gettime 251 306 - #define TARGET_NR_timer_getoverrun 252 307 - 308 - /* System */ 309 - 310 - #define TARGET_NR_reserved253 253 311 - #define TARGET_NR_lookup_dcookie 254 312 - #define TARGET_NR_available255 255 313 - #define TARGET_NR_add_key 256 314 - #define TARGET_NR_request_key 257 315 - #define TARGET_NR_keyctl 258 316 - #define TARGET_NR_available259 259 317 - 318 - 319 - #define TARGET_NR_readahead 260 320 - #define TARGET_NR_remap_file_pages 261 321 - #define TARGET_NR_migrate_pages 262 322 - #define TARGET_NR_mbind 263 323 - #define TARGET_NR_get_mempolicy 264 324 - #define TARGET_NR_set_mempolicy 265 325 - #define TARGET_NR_unshare 266 326 - #define TARGET_NR_move_pages 267 327 - #define TARGET_NR_splice 268 328 - #define TARGET_NR_tee 269 329 - #define TARGET_NR_vmsplice 270 330 - #define TARGET_NR_available271 271 331 - 332 - #define TARGET_NR_pselect6 272 333 - #define TARGET_NR_ppoll 273 334 - #define TARGET_NR_epoll_pwait 274 335 - #define TARGET_NR_epoll_create1 275 336 - 337 - #define TARGET_NR_inotify_init 276 338 - #define TARGET_NR_inotify_add_watch 277 339 - #define TARGET_NR_inotify_rm_watch 278 340 - #define TARGET_NR_inotify_init1 279 341 - 342 - #define TARGET_NR_getcpu 280 343 - #define TARGET_NR_kexec_load 281 344 - 345 - #define TARGET_NR_ioprio_set 282 346 - #define TARGET_NR_ioprio_get 283 347 - 348 - #define TARGET_NR_set_robust_list 284 349 - #define TARGET_NR_get_robust_list 285 350 - #define TARGET_NR_available286 286 351 - #define TARGET_NR_available287 287 352 - 353 - /* Relative File Operations */ 354 - 355 - #define TARGET_NR_openat 288 356 - #define TARGET_NR_mkdirat 289 357 - #define TARGET_NR_mknodat 290 358 - #define TARGET_NR_unlinkat 291 359 - #define TARGET_NR_renameat 292 360 - #define TARGET_NR_linkat 293 361 - #define TARGET_NR_symlinkat 294 362 - #define TARGET_NR_readlinkat 295 363 - #define TARGET_NR_utimensat 296 364 - #define TARGET_NR_fchownat 297 365 - #define TARGET_NR_futimesat 298 366 - #define TARGET_NR_fstatat64 299 367 - #define TARGET_NR_fchmodat 300 368 - #define TARGET_NR_faccessat 301 369 - #define TARGET_NR_available302 302 370 - #define TARGET_NR_available303 303 371 - 372 - #define TARGET_NR_signalfd 304 373 - /* 305 was TARGET_NR_timerfd */ 374 - #define TARGET_NR_eventfd 306 375 - #define TARGET_NR_recvmmsg 307 376 - 377 - #define TARGET_NR_setns 308 378 - #define TARGET_NR_signalfd4 309 379 - #define TARGET_NR_dup3 310 380 - #define TARGET_NR_pipe2 311 381 - 382 - #define TARGET_NR_timerfd_create 312 383 - #define TARGET_NR_timerfd_settime 313 384 - #define TARGET_NR_timerfd_gettime 314 385 - #define TARGET_NR_available315 315 386 - 387 - #define TARGET_NR_eventfd2 316 388 - #define TARGET_NR_preadv 317 389 - #define TARGET_NR_pwritev 318 390 - #define TARGET_NR_available319 319 391 - 392 - #define TARGET_NR_fanotify_init 320 393 - #define TARGET_NR_fanotify_mark 321 394 - #define TARGET_NR_process_vm_readv 322 395 - #define TARGET_NR_process_vm_writev 323 396 - 397 - #define TARGET_NR_name_to_handle_at 324 398 - #define TARGET_NR_open_by_handle_at 325 399 - #define TARGET_NR_sync_file_range2 326 400 - #define TARGET_NR_perf_event_open 327 401 - 402 - #define TARGET_NR_rt_tgsigqueueinfo 328 403 - #define TARGET_NR_clock_adjtime 329 404 - #define TARGET_NR_prlimit64 330 405 - #define TARGET_NR_kcmp 331 406 - 407 - #define TARGET_NR_finit_module 332 408 - 409 - #define TARGET_NR_accept4 333 410 - 411 - #define TARGET_NR_sched_setattr 334 412 - #define TARGET_NR_sched_getattr 335 413 - 414 - #define TARGET_NR_renameat2 336 415 - 416 - #define TARGET_NR_seccomp 337 417 - #define TARGET_NR_getrandom 338 418 - #define TARGET_NR_memfd_create 339 419 - #define TARGET_NR_bpf 340 420 - #define TARGET_NR_execveat 341 421 - 422 - #define TARGET_NR_userfaultfd 342 423 - #define TARGET_NR_membarrier 343 424 - #define TARGET_NR_mlock2 344 425 - #define TARGET_NR_copy_file_range 345 426 - #define TARGET_NR_preadv2 346 427 - #define TARGET_NR_pwritev2 347 428 - 429 - #define TARGET_NR_pkey_mprotect 348 430 - #define TARGET_NR_pkey_alloc 349 431 - #define TARGET_NR_pkey_free 350 432 - 433 - #define TARGET_NR_statx 351 434 - #define TARGET_NR_rseq 352 435 - /* 353 through 402 are unassigned to sync up with generic numbers */ 436 - #define TARGET_NR_clock_gettime64 403 437 - #define TARGET_NR_clock_settime64 404 438 - #define TARGET_NR_clock_adjtime64 405 439 - #define TARGET_NR_clock_getres_time64 406 440 - #define TARGET_NR_clock_nanosleep_time64 407 441 - #define TARGET_NR_timer_gettime64 408 442 - #define TARGET_NR_timer_settime64 409 443 - #define TARGET_NR_timerfd_gettime64 410 444 - #define TARGET_NR_timerfd_settime64 411 445 - #define TARGET_NR_utimensat_time64 412 446 - #define TARGET_NR_pselect6_time64 413 447 - #define TARGET_NR_ppoll_time64 414 448 - #define TARGET_NR_io_pgetevents_time64 416 449 - #define TARGET_NR_recvmmsg_time64 417 450 - #define TARGET_NR_mq_timedsend_time64 418 451 - #define TARGET_NR_mq_timedreceive_time64 419 452 - #define TARGET_NR_semtimedop_time64 420 453 - #define TARGET_NR_rt_sigtimedwait_time64 421 454 - #define TARGET_NR_futex_time64 422 455 - #define TARGET_NR_sched_rr_get_interval_time64 423 456 - #define TARGET_NR_pidfd_send_signal 424 457 - #define TARGET_NR_io_uring_setup 425 458 - #define TARGET_NR_io_uring_enter 426 459 - #define TARGET_NR_io_uring_register 427 460 - #define TARGET_NR_open_tree 428 461 - #define TARGET_NR_move_mount 429 462 - #define TARGET_NR_fsopen 430 463 - #define TARGET_NR_fsconfig 431 464 - #define TARGET_NR_fsmount 432 465 - #define TARGET_NR_fspick 433 466 - #define TARGET_NR_pidfd_open 434 467 - #define TARGET_NR_clone3 435 468 - 469 - #endif /* XTENSA_SYSCALL_NR_H */
+32
linux-user/xtensa/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_XTENSA_`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 */" "${fileguard}" 32 + ) > "$out"