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@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/tools/syscall.tbl
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 #define __NR_bpf                        386
426 #define __NR_execveat                   387
427 #define __NR_userfaultfd                388
428 #define __NR_membarrier                 389
429 #define __NR_mlock2                     390
430 #define __NR_copy_file_range            391
431 #define __NR_preadv2                    392
432 #define __NR_pwritev2                   393
433 #define __NR_pkey_mprotect              394
434 #define __NR_pkey_alloc                 395
435 #define __NR_pkey_free                  396
436 #define __NR_statx                      397
437 
438 
439 
440 #define __NR_ARM_BASE                   (0x0f0000)
441 #define __NR_ARM_breakpoint             (__NR_ARM_BASE+1)
442 #define __NR_ARM_cacheflush             (__NR_ARM_BASE+2)
443 #define __NR_ARM_usr26                  (__NR_ARM_BASE+3)
444 #define __NR_ARM_usr32                  (__NR_ARM_BASE+4)
445 #define __NR_ARM_set_tls                (__NR_ARM_BASE+5)
446 
447 
448 #endif /* __VKI_SCNUMS_ARM_LINUX_H */
449 
450 /*--------------------------------------------------------------------*/
451 /*--- end                                   vki-scnums-arm-linux.h ---*/
452 /*--------------------------------------------------------------------*/
453