1 2/*--------------------------------------------------------------------*/ 3/*--- System call numbers for arm64-linux. ---*/ 4/*--- vki-scnums-arm64-linux.h ---*/ 5/*--------------------------------------------------------------------*/ 6 7/* 8 This file is part of Valgrind, a dynamic binary instrumentation 9 framework. 10 11 Copyright (C) 2013-2015 OpenWorks 12 info@open-works.net 13 14 This program is free software; you can redistribute it and/or 15 modify it under the terms of the GNU General Public License as 16 published by the Free Software Foundation; either version 2 of the 17 License, or (at your option) any later version. 18 19 This program is distributed in the hope that it will be useful, but 20 WITHOUT ANY WARRANTY; without even the implied warranty of 21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 General Public License for more details. 23 24 You should have received a copy of the GNU General Public License 25 along with this program; if not, write to the Free Software 26 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 27 02111-1307, USA. 28 29 The GNU General Public License is contained in the file COPYING. 30*/ 31 32#ifndef __VKI_SCNUMS_ARM64_LINUX_H 33#define __VKI_SCNUMS_ARM64_LINUX_H 34 35// From linux-3.10.5/arch/arm64/include/uapi/asm/unistd.h 36// is a #include of 37// linux-3.10.5/include/uapi/asm-generic/unistd.h 38 39#define __NR_io_setup 0 40#define __NR_io_destroy 1 41#define __NR_io_submit 2 42#define __NR_io_cancel 3 43#define __NR_io_getevents 4 44#define __NR_setxattr 5 45#define __NR_lsetxattr 6 46#define __NR_fsetxattr 7 47#define __NR_getxattr 8 48#define __NR_lgetxattr 9 49#define __NR_fgetxattr 10 50#define __NR_listxattr 11 51#define __NR_llistxattr 12 52#define __NR_flistxattr 13 53#define __NR_removexattr 14 54#define __NR_lremovexattr 15 55#define __NR_fremovexattr 16 56#define __NR_getcwd 17 57#define __NR_lookup_dcookie 18 58#define __NR_eventfd2 19 59#define __NR_epoll_create1 20 60#define __NR_epoll_ctl 21 61#define __NR_epoll_pwait 22 62#define __NR_dup 23 63#define __NR_dup3 24 64#define __NR3264_fcntl 25 65#define __NR_inotify_init1 26 66#define __NR_inotify_add_watch 27 67#define __NR_inotify_rm_watch 28 68#define __NR_ioctl 29 69#define __NR_ioprio_set 30 70#define __NR_ioprio_get 31 71#define __NR_flock 32 72#define __NR_mknodat 33 73#define __NR_mkdirat 34 74#define __NR_unlinkat 35 75#define __NR_symlinkat 36 76#define __NR_linkat 37 77#define __NR_renameat 38 78#define __NR_umount2 39 79#define __NR_mount 40 80#define __NR_pivot_root 41 81#define __NR_nfsservctl 42 82#define __NR3264_statfs 43 83#define __NR3264_fstatfs 44 84#define __NR3264_truncate 45 85#define __NR3264_ftruncate 46 86#define __NR_fallocate 47 87#define __NR_faccessat 48 88#define __NR_chdir 49 89#define __NR_fchdir 50 90#define __NR_chroot 51 91#define __NR_fchmod 52 92#define __NR_fchmodat 53 93#define __NR_fchownat 54 94#define __NR_fchown 55 95#define __NR_openat 56 96#define __NR_close 57 97#define __NR_vhangup 58 98#define __NR_pipe2 59 99#define __NR_quotactl 60 100#define __NR_getdents64 61 101#define __NR3264_lseek 62 102#define __NR_read 63 103#define __NR_write 64 104#define __NR_readv 65 105#define __NR_writev 66 106#define __NR_pread64 67 107#define __NR_pwrite64 68 108#define __NR_preadv 69 109#define __NR_pwritev 70 110#define __NR3264_sendfile 71 111#define __NR_pselect6 72 112#define __NR_ppoll 73 113#define __NR_signalfd4 74 114#define __NR_vmsplice 75 115#define __NR_splice 76 116#define __NR_tee 77 117#define __NR_readlinkat 78 118#define __NR3264_fstatat 79 119#define __NR3264_fstat 80 120#define __NR_sync 81 121#define __NR_fsync 82 122#define __NR_fdatasync 83 123 124//#ifdef __ARCH_WANT_SYNC_FILE_RANGE2 125//#define __NR_sync_file_range2 84 126//#else 127#define __NR_sync_file_range 84 128//#endif 129 130#define __NR_timerfd_create 85 131#define __NR_timerfd_settime 86 132#define __NR_timerfd_gettime 87 133#define __NR_utimensat 88 134#define __NR_acct 89 135#define __NR_capget 90 136#define __NR_capset 91 137#define __NR_personality 92 138#define __NR_exit 93 139#define __NR_exit_group 94 140#define __NR_waitid 95 141#define __NR_set_tid_address 96 142#define __NR_unshare 97 143#define __NR_futex 98 144#define __NR_set_robust_list 99 145#define __NR_get_robust_list 100 146#define __NR_nanosleep 101 147#define __NR_getitimer 102 148#define __NR_setitimer 103 149#define __NR_kexec_load 104 150#define __NR_init_module 105 151#define __NR_delete_module 106 152#define __NR_timer_create 107 153#define __NR_timer_gettime 108 154#define __NR_timer_getoverrun 109 155#define __NR_timer_settime 110 156#define __NR_timer_delete 111 157#define __NR_clock_settime 112 158#define __NR_clock_gettime 113 159#define __NR_clock_getres 114 160#define __NR_clock_nanosleep 115 161#define __NR_syslog 116 162#define __NR_ptrace 117 163#define __NR_sched_setparam 118 164#define __NR_sched_setscheduler 119 165#define __NR_sched_getscheduler 120 166#define __NR_sched_getparam 121 167#define __NR_sched_setaffinity 122 168#define __NR_sched_getaffinity 123 169#define __NR_sched_yield 124 170#define __NR_sched_get_priority_max 125 171#define __NR_sched_get_priority_min 126 172#define __NR_sched_rr_get_interval 127 173#define __NR_restart_syscall 128 174#define __NR_kill 129 175#define __NR_tkill 130 176#define __NR_tgkill 131 177#define __NR_sigaltstack 132 178#define __NR_rt_sigsuspend 133 179#define __NR_rt_sigaction 134 180#define __NR_rt_sigprocmask 135 181#define __NR_rt_sigpending 136 182#define __NR_rt_sigtimedwait 137 183#define __NR_rt_sigqueueinfo 138 184#define __NR_rt_sigreturn 139 185#define __NR_setpriority 140 186#define __NR_getpriority 141 187#define __NR_reboot 142 188#define __NR_setregid 143 189#define __NR_setgid 144 190#define __NR_setreuid 145 191#define __NR_setuid 146 192#define __NR_setresuid 147 193#define __NR_getresuid 148 194#define __NR_setresgid 149 195#define __NR_getresgid 150 196#define __NR_setfsuid 151 197#define __NR_setfsgid 152 198#define __NR_times 153 199#define __NR_setpgid 154 200#define __NR_getpgid 155 201#define __NR_getsid 156 202#define __NR_setsid 157 203#define __NR_getgroups 158 204#define __NR_setgroups 159 205#define __NR_uname 160 206#define __NR_sethostname 161 207#define __NR_setdomainname 162 208#define __NR_getrlimit 163 209#define __NR_setrlimit 164 210#define __NR_getrusage 165 211#define __NR_umask 166 212#define __NR_prctl 167 213#define __NR_getcpu 168 214#define __NR_gettimeofday 169 215#define __NR_settimeofday 170 216#define __NR_adjtimex 171 217#define __NR_getpid 172 218#define __NR_getppid 173 219#define __NR_getuid 174 220#define __NR_geteuid 175 221#define __NR_getgid 176 222#define __NR_getegid 177 223#define __NR_gettid 178 224#define __NR_sysinfo 179 225#define __NR_mq_open 180 226#define __NR_mq_unlink 181 227#define __NR_mq_timedsend 182 228#define __NR_mq_timedreceive 183 229#define __NR_mq_notify 184 230#define __NR_mq_getsetattr 185 231#define __NR_msgget 186 232#define __NR_msgctl 187 233#define __NR_msgrcv 188 234#define __NR_msgsnd 189 235#define __NR_semget 190 236#define __NR_semctl 191 237#define __NR_semtimedop 192 238#define __NR_semop 193 239#define __NR_shmget 194 240#define __NR_shmctl 195 241#define __NR_shmat 196 242#define __NR_shmdt 197 243#define __NR_socket 198 244#define __NR_socketpair 199 245#define __NR_bind 200 246#define __NR_listen 201 247#define __NR_accept 202 248#define __NR_connect 203 249#define __NR_getsockname 204 250#define __NR_getpeername 205 251#define __NR_sendto 206 252#define __NR_recvfrom 207 253#define __NR_setsockopt 208 254#define __NR_getsockopt 209 255#define __NR_shutdown 210 256#define __NR_sendmsg 211 257#define __NR_recvmsg 212 258#define __NR_readahead 213 259#define __NR_brk 214 260#define __NR_munmap 215 261#define __NR_mremap 216 262#define __NR_add_key 217 263#define __NR_request_key 218 264#define __NR_keyctl 219 265#define __NR_clone 220 266#define __NR_execve 221 267#define __NR3264_mmap 222 268#define __NR3264_fadvise64 223 269#define __NR_swapon 224 270#define __NR_swapoff 225 271#define __NR_mprotect 226 272#define __NR_msync 227 273#define __NR_mlock 228 274#define __NR_munlock 229 275#define __NR_mlockall 230 276#define __NR_munlockall 231 277#define __NR_mincore 232 278#define __NR_madvise 233 279#define __NR_remap_file_pages 234 280#define __NR_mbind 235 281#define __NR_get_mempolicy 236 282#define __NR_set_mempolicy 237 283#define __NR_migrate_pages 238 284#define __NR_move_pages 239 285#define __NR_rt_tgsigqueueinfo 240 286#define __NR_perf_event_open 241 287#define __NR_accept4 242 288#define __NR_recvmmsg 243 289 290///* 291// * Architectures may provide up to 16 syscalls of their own 292// * starting with this value. 293// */ 294//#define __NR_arch_specific_syscall 244 295 296#define __NR_wait4 260 297#define __NR_prlimit64 261 298#define __NR_fanotify_init 262 299#define __NR_fanotify_mark 263 300#define __NR_name_to_handle_at 264 301#define __NR_open_by_handle_at 265 302#define __NR_clock_adjtime 266 303#define __NR_syncfs 267 304#define __NR_setns 268 305#define __NR_sendmmsg 269 306#define __NR_process_vm_readv 270 307#define __NR_process_vm_writev 271 308#define __NR_kcmp 272 309#define __NR_finit_module 273 310#define __NR_sched_setattr 274 311#define __NR_sched_getattr 275 312#define __NR_renameat2 276 313#define __NR_seccomp 277 314#define __NR_getrandom 278 315#define __NR_memfd_create 279 316#define __NR_bpf 280 317 318#undef __NR_syscalls 319#define __NR_syscalls 274 320 321///* 322// * All syscalls below here should go away really, 323// * these are provided for both review and as a porting 324// * help for the C library version. 325//* 326// * Last chance: are any of these important enough to 327// * enable by default? 328// */ 329//#ifdef __ARCH_WANT_SYSCALL_NO_AT 330//ZZZZ#define __NR_open 1024 331//#define __NR_link 1025 332//__SYSCALL(__NR_link, sys_link) 333//#define __NR_unlink 1026 334#define __NR_mknod 1027 335//#define __NR_chmod 1028 336//__SYSCALL(__NR_chmod, sys_chmod) 337//#define __NR_chown 1029 338//__SYSCALL(__NR_chown, sys_chown) 339//#define __NR_mkdir 1030 340//__SYSCALL(__NR_mkdir, sys_mkdir) 341//#define __NR_rmdir 1031 342//__SYSCALL(__NR_rmdir, sys_rmdir) 343//#define __NR_lchown 1032 344//__SYSCALL(__NR_lchown, sys_lchown) 345#define __NR_access 1033 346#define __NR_rename 1034 347//#define __NR_readlink 1035 348//#define __NR_symlink 1036 349//__SYSCALL(__NR_symlink, sys_symlink) 350//#define __NR_utimes 1037 351//__SYSCALL(__NR_utimes, sys_utimes) 352//#define __NR3264_stat 1038 353//__SC_3264(__NR3264_stat, sys_stat64, sys_newstat) 354//#define __NR3264_lstat 1039 355//__SC_3264(__NR3264_lstat, sys_lstat64, sys_newlstat) 356// 357//#undef __NR_syscalls 358//#define __NR_syscalls (__NR3264_lstat+1) 359//#endif /* __ARCH_WANT_SYSCALL_NO_AT */ 360// 361//#ifdef __ARCH_WANT_SYSCALL_NO_FLAGS 362#define __NR_pipe 1040 363#define __NR_dup2 1041 364//#define __NR_epoll_create 1042 365//__SYSCALL(__NR_epoll_create, sys_epoll_create) 366//#define __NR_inotify_init 1043 367//__SYSCALL(__NR_inotify_init, sys_inotify_init) 368//#define __NR_eventfd 1044 369//__SYSCALL(__NR_eventfd, sys_eventfd) 370//#define __NR_signalfd 1045 371//__SYSCALL(__NR_signalfd, sys_signalfd) 372// 373//#undef __NR_syscalls 374//#define __NR_syscalls (__NR_signalfd+1) 375//#endif /* __ARCH_WANT_SYSCALL_NO_FLAGS */ 376// 377/* #if (__BITS_PER_LONG == 32 || defined(__SYSCALL_COMPAT)) && \ 378 defined(__ARCH_WANT_SYSCALL_OFF_T) 379*/ 380//#define __NR_sendfile 1046 381//__SYSCALL(__NR_sendfile, sys_sendfile) 382//#define __NR_ftruncate 1047 383//__SYSCALL(__NR_ftruncate, sys_ftruncate) 384//#define __NR_truncate 1048 385//__SYSCALL(__NR_truncate, sys_truncate) 386#define __NR_stat 1049 387//#define __NR_lstat 1050 388//__SYSCALL(__NR_lstat, sys_newlstat) 389//ZZ#define __NR_fstat 1051 390//#define __NR_fcntl 1052 391//#define __NR_fadvise64 1053 392//#define __ARCH_WANT_SYS_FADVISE64 393//__SYSCALL(__NR_fadvise64, sys_fadvise64) 394//#define __NR_newfstatat 1054 395//#define __ARCH_WANT_SYS_NEWFSTATAT 396//__SYSCALL(__NR_newfstatat, sys_newfstatat) 397//#define __NR_fstatfs 1055 398//__SYSCALL(__NR_fstatfs, sys_fstatfs) 399//#define __NR_statfs 1056 400//__SYSCALL(__NR_statfs, sys_statfs) 401//#define __NR_lseek 1057 402#define __NR_mmap 1058 403// 404//#undef __NR_syscalls 405//#define __NR_syscalls (__NR_mmap+1) 406//#endif /* 32 bit off_t syscalls */ 407// 408//#ifdef __ARCH_WANT_SYSCALL_DEPRECATED 409//#define __NR_alarm 1059 410//#define __ARCH_WANT_SYS_ALARM 411//__SYSCALL(__NR_alarm, sys_alarm) 412#define __NR_getpgrp 1060 413//#define __ARCH_WANT_SYS_GETPGRP 414//__SYSCALL(__NR_getpgrp, sys_getpgrp) 415//#define __NR_pause 1061 416//#define __ARCH_WANT_SYS_PAUSE 417//__SYSCALL(__NR_pause, sys_pause) 418//#define __NR_time 1062 419//#define __ARCH_WANT_SYS_TIME 420//#define __ARCH_WANT_COMPAT_SYS_TIME 421//__SYSCALL(__NR_time, sys_time) 422//#define __NR_utime 1063 423//#define __ARCH_WANT_SYS_UTIME 424//__SYSCALL(__NR_utime, sys_utime) 425// 426//#define __NR_creat 1064 427//__SYSCALL(__NR_creat, sys_creat) 428#define __NR_getdents 1065 429//#define __NR_futimesat 1066 430//__SYSCALL(__NR_futimesat, sys_futimesat) 431//#define __NR_select 1067 432//#define __ARCH_WANT_SYS_SELECT 433//__SYSCALL(__NR_select, sys_select) 434#define __NR_poll 1068 435//#define __NR_epoll_wait 1069 436//__SYSCALL(__NR_epoll_wait, sys_epoll_wait) 437//#define __NR_ustat 1070 438//__SYSCALL(__NR_ustat, sys_ustat) 439//#define __NR_vfork 1071 440//__SYSCALL(__NR_vfork, sys_vfork) 441//#define __NR_oldwait4 1072 442//__SYSCALL(__NR_oldwait4, sys_wait4) 443//#define __NR_recv 1073 444//__SYSCALL(__NR_recv, sys_recv) 445//#define __NR_send 1074 446//__SYSCALL(__NR_send, sys_send) 447//#define __NR_bdflush 1075 448//__SYSCALL(__NR_bdflush, sys_bdflush) 449//#define __NR_umount 1076 450//__SYSCALL(__NR_umount, sys_oldumount) 451//#define __ARCH_WANT_SYS_OLDUMOUNT 452//#define __NR_uselib 1077 453//__SYSCALL(__NR_uselib, sys_uselib) 454//#define __NR__sysctl 1078 455//__SYSCALL(__NR__sysctl, sys_sysctl) 456// 457#define __NR_fork 1079 458//#ifdef CONFIG_MMU 459//__SYSCALL(__NR_fork, sys_fork) 460//#else 461//__SYSCALL(__NR_fork, sys_ni_syscall) 462//#endif /* CONFIG_MMU */ 463// 464//#undef __NR_syscalls 465//#define __NR_syscalls (__NR_fork+1) 466// 467//#endif /* __ARCH_WANT_SYSCALL_DEPRECATED */ 468// 469///* 470// * 32 bit systems traditionally used different 471// * syscalls for off_t and loff_t arguments, while 472// * 64 bit systems only need the off_t version. 473// * For new 32 bit platforms, there is no need to 474// * implement the old 32 bit off_t syscalls, so 475// * they take different names. 476// * Here we map the numbers so that both versions 477// * use the same syscall table layout. 478// */ 479//#if __BITS_PER_LONG == 64 && !defined(__SYSCALL_COMPAT) 480#define __NR_fcntl __NR3264_fcntl 481//#define __NR_statfs __NR3264_statfs 482//#define __NR_fstatfs __NR3264_fstatfs 483//#define __NR_truncate __NR3264_truncate 484//#define __NR_ftruncate __NR3264_ftruncate 485#define __NR_lseek __NR3264_lseek 486//#define __NR_sendfile __NR3264_sendfile 487//#define __NR_newfstatat __NR3264_fstatat 488#define __NR_fstat __NR3264_fstat 489//#define __NR_mmap __NR3264_mmap 490//#define __NR_fadvise64 __NR3264_fadvise64 491//#ifdef __NR3264_stat 492//#define __NR_stat __NR3264_stat 493//#define __NR_lstat __NR3264_lstat 494//#endif 495//#else 496//#define __NR_fcntl64 __NR3264_fcntl 497//#define __NR_statfs64 __NR3264_statfs 498//#define __NR_fstatfs64 __NR3264_fstatfs 499//#define __NR_truncate64 __NR3264_truncate 500//#define __NR_ftruncate64 __NR3264_ftruncate 501//#define __NR_llseek __NR3264_lseek 502//#define __NR_sendfile64 __NR3264_sendfile 503//#define __NR_fstatat64 __NR3264_fstatat 504//#define __NR_fstat64 __NR3264_fstat 505//#define __NR_mmap2 __NR3264_mmap 506//#define __NR_fadvise64_64 __NR3264_fadvise64 507//#ifdef __NR3264_stat 508//#define __NR_stat64 __NR3264_stat 509//#define __NR_lstat64 __NR3264_lstat 510//#endif 511//#endif 512 513#endif /* __VKI_SCNUMS_ARM64_LINUX_H */ 514 515/*--------------------------------------------------------------------*/ 516/*--- end vki-scnums-arm64-linux.h ---*/ 517/*--------------------------------------------------------------------*/ 518