Home | History | Annotate | Download | only in vki
      1 
      2 /*--------------------------------------------------------------------*/
      3 /*--- System call numbers for arm-linux.                           ---*/
      4 /*---                                       vki-scnums-arm-linux.h ---*/
      5 /*--------------------------------------------------------------------*/
      6 
      7 /*
      8    This file is part of Valgrind, a dynamic binary instrumentation
      9    framework.
     10 
     11    Copyright (C) 2008-2017 Evan Geller
     12       gaze (at) bea.ms
     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_ARM_LINUX_H
     33 #define __VKI_SCNUMS_ARM_LINUX_H
     34 
     35 // From linux-2.6/arch/arm/include/asm/unistd.h
     36 
     37 #define __NR_restart_syscall		  0
     38 #define __NR_exit			  1
     39 #define __NR_fork			  2
     40 #define __NR_read			  3
     41 #define __NR_write			  4
     42 #define __NR_open			  5
     43 #define __NR_close			  6
     44 					/* 7 was sys_waitpid */
     45 #define __NR_creat			  8
     46 #define __NR_link			  9
     47 #define __NR_unlink			 10
     48 #define __NR_execve			 11
     49 #define __NR_chdir			 12
     50 #define __NR_time			 13
     51 #define __NR_mknod			 14
     52 #define __NR_chmod			 15
     53 #define __NR_lchown			 16
     54 					/* 17 was sys_break */
     55 					/* 18 was sys_stat */
     56 #define __NR_lseek			 19
     57 #define __NR_getpid			 20
     58 #define __NR_mount			 21
     59 #define __NR_umount			 22
     60 #define __NR_setuid			 23
     61 #define __NR_getuid			 24
     62 #define __NR_stime			 25
     63 #define __NR_ptrace			 26
     64 #define __NR_alarm			 27
     65 					/* 28 was sys_fstat */
     66 #define __NR_pause			 29
     67 #define __NR_utime			 30
     68 					/* 31 was sys_stty */
     69 					/* 32 was sys_gtty */
     70 #define __NR_access			 33
     71 #define __NR_nice			 34
     72 					/* 35 was sys_ftime */
     73 #define __NR_sync			 36
     74 #define __NR_kill			 37
     75 #define __NR_rename			 38
     76 #define __NR_mkdir			 39
     77 #define __NR_rmdir			 40
     78 #define __NR_dup			 41
     79 #define __NR_pipe			 42
     80 #define __NR_times			 43
     81 					/* 44 was sys_prof */
     82 #define __NR_brk			 45
     83 #define __NR_setgid			 46
     84 #define __NR_getgid			 47
     85 					/* 48 was sys_signal */
     86 #define __NR_geteuid			 49
     87 #define __NR_getegid			 50
     88 #define __NR_acct			 51
     89 #define __NR_umount2			 52
     90 					/* 53 was sys_lock */
     91 #define __NR_ioctl			 54
     92 #define __NR_fcntl			 55
     93 					/* 56 was sys_mpx */
     94 #define __NR_setpgid			 57
     95 					/* 58 was sys_ulimit */
     96 					/* 59 was sys_olduname */
     97 #define __NR_umask			 60
     98 #define __NR_chroot			 61
     99 #define __NR_ustat			 62
    100 #define __NR_dup2			 63
    101 #define __NR_getppid			 64
    102 #define __NR_getpgrp			 65
    103 #define __NR_setsid			 66
    104 #define __NR_sigaction			 67
    105 					/* 68 was sys_sgetmask */
    106 					/* 69 was sys_ssetmask */
    107 #define __NR_setreuid			 70
    108 #define __NR_setregid			 71
    109 #define __NR_sigsuspend			 72
    110 #define __NR_sigpending			 73
    111 #define __NR_sethostname		 74
    112 #define __NR_setrlimit			 75
    113 #define __NR_getrlimit			 76	/* Back compat 2GB limited rlimit */
    114 #define __NR_getrusage			 77
    115 #define __NR_gettimeofday		 78
    116 #define __NR_settimeofday		 79
    117 #define __NR_getgroups			 80
    118 #define __NR_setgroups			 81
    119 #define __NR_select			 82
    120 #define __NR_symlink			 83
    121 					/* 84 was sys_lstat */
    122 #define __NR_readlink			 85
    123 #define __NR_uselib			 86
    124 #define __NR_swapon			 87
    125 #define __NR_reboot			 88
    126 #define __NR_readdir			 89
    127 #define __NR_mmap			 90
    128 #define __NR_munmap			 91
    129 #define __NR_truncate			 92
    130 #define __NR_ftruncate			 93
    131 #define __NR_fchmod			 94
    132 #define __NR_fchown			 95
    133 #define __NR_getpriority		 96
    134 #define __NR_setpriority		 97
    135 					/* 98 was sys_profil */
    136 #define __NR_statfs			 99
    137 #define __NR_fstatfs			100
    138 					/* 101 was sys_ioperm */
    139 #define __NR_socketcall			102
    140 #define __NR_syslog			103
    141 #define __NR_setitimer			104
    142 #define __NR_getitimer			105
    143 #define __NR_stat			106
    144 #define __NR_lstat			107
    145 #define __NR_fstat			108
    146 					/* 109 was sys_uname */
    147 					/* 110 was sys_iopl */
    148 #define __NR_vhangup			111
    149 					/* 112 was sys_idle */
    150 #define __NR_syscall			113 /* syscall to call a syscall! */
    151 #define __NR_wait4			114
    152 #define __NR_swapoff			115
    153 #define __NR_sysinfo			116
    154 #define __NR_ipc			117
    155 #define __NR_fsync			118
    156 #define __NR_sigreturn			119
    157 #define __NR_clone			120
    158 #define __NR_setdomainname		121
    159 #define __NR_uname			122
    160 					/* 123 was sys_modify_ldt */
    161 #define __NR_adjtimex			124
    162 #define __NR_mprotect			125
    163 #define __NR_sigprocmask		126
    164 					/* 127 was sys_create_module */
    165 #define __NR_init_module		128
    166 #define __NR_delete_module		129
    167 					/* 130 was sys_get_kernel_syms */
    168 #define __NR_quotactl			131
    169 #define __NR_getpgid			132
    170 #define __NR_fchdir			133
    171 #define __NR_bdflush			134
    172 #define __NR_sysfs			135
    173 #define __NR_personality		136
    174 					/* 137 was sys_afs_syscall */
    175 #define __NR_setfsuid			138
    176 #define __NR_setfsgid			139
    177 #define __NR__llseek			140
    178 #define __NR_getdents			141
    179 #define __NR__newselect			142
    180 #define __NR_flock			143
    181 #define __NR_msync			144
    182 #define __NR_readv			145
    183 #define __NR_writev			146
    184 #define __NR_getsid			147
    185 #define __NR_fdatasync			148
    186 #define __NR__sysctl			149
    187 #define __NR_mlock			150
    188 #define __NR_munlock			151
    189 #define __NR_mlockall			152
    190 #define __NR_munlockall			153
    191 #define __NR_sched_setparam		154
    192 #define __NR_sched_getparam		155
    193 #define __NR_sched_setscheduler		156
    194 #define __NR_sched_getscheduler		157
    195 #define __NR_sched_yield		158
    196 #define __NR_sched_get_priority_max	159
    197 #define __NR_sched_get_priority_min	160
    198 #define __NR_sched_rr_get_interval	161
    199 #define __NR_nanosleep			162
    200 #define __NR_mremap			163
    201 #define __NR_setresuid			164
    202 #define __NR_getresuid			165
    203 					/* 166 was sys_vm86 */
    204 					/* 167 was sys_query_module */
    205 #define __NR_poll			168
    206 #define __NR_nfsservctl			169
    207 #define __NR_setresgid			170
    208 #define __NR_getresgid			171
    209 #define __NR_prctl			172
    210 #define __NR_rt_sigreturn		173
    211 #define __NR_rt_sigaction		174
    212 #define __NR_rt_sigprocmask		175
    213 #define __NR_rt_sigpending		176
    214 #define __NR_rt_sigtimedwait		177
    215 #define __NR_rt_sigqueueinfo		178
    216 #define __NR_rt_sigsuspend		179
    217 #define __NR_pread64			180
    218 #define __NR_pwrite64			181
    219 #define __NR_chown			182
    220 #define __NR_getcwd			183
    221 #define __NR_capget			184
    222 #define __NR_capset			185
    223 #define __NR_sigaltstack		186
    224 #define __NR_sendfile			187
    225 					/* 188 reserved */
    226 					/* 189 reserved */
    227 #define __NR_vfork			190
    228 #define __NR_ugetrlimit			191	/* SuS compliant getrlimit */
    229 #define __NR_mmap2			192
    230 #define __NR_truncate64			193
    231 #define __NR_ftruncate64		194
    232 #define __NR_stat64			195
    233 #define __NR_lstat64			196
    234 #define __NR_fstat64			197
    235 #define __NR_lchown32			198
    236 #define __NR_getuid32			199
    237 #define __NR_getgid32			200
    238 #define __NR_geteuid32			201
    239 #define __NR_getegid32			202
    240 #define __NR_setreuid32			203
    241 #define __NR_setregid32			204
    242 #define __NR_getgroups32		205
    243 #define __NR_setgroups32		206
    244 #define __NR_fchown32			207
    245 #define __NR_setresuid32		208
    246 #define __NR_getresuid32		209
    247 #define __NR_setresgid32		210
    248 #define __NR_getresgid32		211
    249 #define __NR_chown32			212
    250 #define __NR_setuid32			213
    251 #define __NR_setgid32			214
    252 #define __NR_setfsuid32			215
    253 #define __NR_setfsgid32			216
    254 #define __NR_getdents64			217
    255 #define __NR_pivot_root			218
    256 #define __NR_mincore			219
    257 #define __NR_madvise			220
    258 #define __NR_fcntl64			221
    259 					/* 222 for tux */
    260 					/* 223 is unused */
    261 #define __NR_gettid			224
    262 #define __NR_readahead			225
    263 #define __NR_setxattr			226
    264 #define __NR_lsetxattr			227
    265 #define __NR_fsetxattr			228
    266 #define __NR_getxattr			229
    267 #define __NR_lgetxattr			230
    268 #define __NR_fgetxattr			231
    269 #define __NR_listxattr			232
    270 #define __NR_llistxattr			233
    271 #define __NR_flistxattr			234
    272 #define __NR_removexattr		235
    273 #define __NR_lremovexattr		236
    274 #define __NR_fremovexattr		237
    275 #define __NR_tkill			238
    276 #define __NR_sendfile64			239
    277 #define __NR_futex			240
    278 #define __NR_sched_setaffinity		241
    279 #define __NR_sched_getaffinity		242
    280 #define __NR_io_setup			243
    281 #define __NR_io_destroy			244
    282 #define __NR_io_getevents		245
    283 #define __NR_io_submit			246
    284 #define __NR_io_cancel			247
    285 #define __NR_exit_group			248
    286 #define __NR_lookup_dcookie		249
    287 #define __NR_epoll_create		250
    288 #define __NR_epoll_ctl			251
    289 #define __NR_epoll_wait			252
    290 #define __NR_remap_file_pages		253
    291 					/* 254 for set_thread_area */
    292 					/* 255 for get_thread_area */
    293 #define __NR_set_tid_address		256
    294 #define __NR_timer_create		257
    295 #define __NR_timer_settime		258
    296 #define __NR_timer_gettime		259
    297 #define __NR_timer_getoverrun		260
    298 #define __NR_timer_delete		261
    299 #define __NR_clock_settime		262
    300 #define __NR_clock_gettime		263
    301 #define __NR_clock_getres		264
    302 #define __NR_clock_nanosleep		265
    303 #define __NR_statfs64			266
    304 #define __NR_fstatfs64			267
    305 #define __NR_tgkill			268
    306 #define __NR_utimes			269
    307 #define __NR_arm_fadvise64_64		270
    308 #define __NR_fadvise64          270 //Added by Johan, 2008-10-11, not sure why it's called _arm_.. otherwise.
    309 #define __NR_pciconfig_iobase		271
    310 #define __NR_pciconfig_read		272
    311 #define __NR_pciconfig_write		273
    312 #define __NR_mq_open			274
    313 #define __NR_mq_unlink			275
    314 #define __NR_mq_timedsend		276
    315 #define __NR_mq_timedreceive		277
    316 #define __NR_mq_notify			278
    317 #define __NR_mq_getsetattr		279
    318 #define __NR_waitid			280
    319 #define __NR_socket			281
    320 #define __NR_bind			282
    321 #define __NR_connect			283
    322 #define __NR_listen			284
    323 #define __NR_accept			285
    324 #define __NR_getsockname		286
    325 #define __NR_getpeername		287
    326 #define __NR_socketpair			288
    327 #define __NR_send			289
    328 #define __NR_sendto			290
    329 #define __NR_recv			291
    330 #define __NR_recvfrom			292
    331 #define __NR_shutdown			293
    332 #define __NR_setsockopt			294
    333 #define __NR_getsockopt			295
    334 #define __NR_sendmsg			296
    335 #define __NR_recvmsg			297
    336 #define __NR_semop			298
    337 #define __NR_semget			299
    338 #define __NR_semctl			300
    339 #define __NR_msgsnd			301
    340 #define __NR_msgrcv			302
    341 #define __NR_msgget			303
    342 #define __NR_msgctl			304
    343 #define __NR_shmat			305
    344 #define __NR_shmdt			306
    345 #define __NR_shmget			307
    346 #define __NR_shmctl			308
    347 #define __NR_add_key			309
    348 #define __NR_request_key		310
    349 #define __NR_keyctl			311
    350 #define __NR_semtimedop			312
    351 #define __NR_vserver			313
    352 #define __NR_ioprio_set			314
    353 #define __NR_ioprio_get			315
    354 #define __NR_inotify_init		316
    355 #define __NR_inotify_add_watch		317
    356 #define __NR_inotify_rm_watch		318
    357 #define __NR_mbind			319
    358 #define __NR_get_mempolicy		320
    359 #define __NR_set_mempolicy		321
    360 #define __NR_openat			322
    361 #define __NR_mkdirat			323
    362 #define __NR_mknodat			324
    363 #define __NR_fchownat			325
    364 #define __NR_futimesat			326
    365 #define __NR_fstatat64			327
    366 #define __NR_unlinkat			328
    367 #define __NR_renameat			329
    368 #define __NR_linkat			330
    369 #define __NR_symlinkat			331
    370 #define __NR_readlinkat			332
    371 #define __NR_fchmodat			333
    372 #define __NR_faccessat			334
    373 #define __NR_pselect6			335 /* JRS 20100812: is this correct? */
    374 #define __NR_ppoll	       		336
    375 #define __NR_unshare			337
    376 #define __NR_set_robust_list		338
    377 #define __NR_get_robust_list		339
    378 #define __NR_splice			340
    379 #define __NR_arm_sync_file_range	341
    380 #define __NR_sync_file_range2		__NR_arm_sync_file_range
    381 #define __NR_tee			342
    382 #define __NR_vmsplice			343
    383 #define __NR_move_pages			344
    384 #define __NR_getcpu			345
    385 #define __NR_epoll_pwait		346
    386 #define __NR_kexec_load			347
    387 #define __NR_utimensat			348
    388 #define __NR_signalfd			349
    389 #define __NR_timerfd_create		350
    390 #define __NR_eventfd			351
    391 #define __NR_fallocate			352
    392 #define __NR_timerfd_settime		353
    393 #define __NR_timerfd_gettime		354
    394 #define __NR_signalfd4                  355
    395 #define __NR_eventfd2                   356
    396 #define __NR_epoll_create1              357
    397 #define __NR_dup3                       358
    398 #define __NR_pipe2                      359
    399 #define __NR_inotify_init1              360
    400 #define __NR_preadv			361
    401 #define __NR_pwritev			362
    402 #define __NR_rt_tgsigqueueinfo		363
    403 #define __NR_perf_event_open		364
    404 #define __NR_recvmmsg			365
    405 #define __NR_accept4			366
    406 #define __NR_fanotify_init		367
    407 #define __NR_fanotify_mark		368
    408 #define __NR_prlimit64			369
    409 #define __NR_name_to_handle_at		370
    410 #define __NR_open_by_handle_at		371
    411 #define __NR_clock_adjtime		372
    412 #define __NR_syncfs			373
    413 #define __NR_sendmmsg			374
    414 #define __NR_setns			375
    415 #define __NR_process_vm_readv		376
    416 #define __NR_process_vm_writev		377
    417 #define __NR_kcmp                       378
    418 #define __NR_finit_module               379
    419 #define __NR_sched_setattr              380
    420 #define __NR_sched_getattr              381
    421 #define __NR_renameat2                  382
    422 #define __NR_seccomp                    383
    423 #define __NR_getrandom                  384
    424 #define __NR_memfd_create               385
    425 
    426 
    427 
    428 #define __NR_ARM_BASE                   (0x0f0000)
    429 #define __NR_ARM_breakpoint             (__NR_ARM_BASE+1)
    430 #define __NR_ARM_cacheflush             (__NR_ARM_BASE+2)
    431 #define __NR_ARM_usr26                  (__NR_ARM_BASE+3)
    432 #define __NR_ARM_usr32                  (__NR_ARM_BASE+4)
    433 #define __NR_ARM_set_tls                (__NR_ARM_BASE+5)
    434 
    435 
    436 #endif /* __VKI_SCNUMS_ARM_LINUX_H */
    437 
    438 /*--------------------------------------------------------------------*/
    439 /*--- end                                   vki-scnums-arm-linux.h ---*/
    440 /*--------------------------------------------------------------------*/
    441