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-2013 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/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
418
419
420#define __NR_ARM_BASE                   (0x0f0000)
421#define __NR_ARM_breakpoint             (__NR_ARM_BASE+1)
422#define __NR_ARM_cacheflush             (__NR_ARM_BASE+2)
423#define __NR_ARM_usr26                  (__NR_ARM_BASE+3)
424#define __NR_ARM_usr32                  (__NR_ARM_BASE+4)
425#define __NR_ARM_set_tls                (__NR_ARM_BASE+5)
426
427
428#endif /* __VKI_SCNUMS_ARM_LINUX_H */
429
430/*--------------------------------------------------------------------*/
431/*--- end                                   vki-scnums-arm-linux.h ---*/
432/*--------------------------------------------------------------------*/
433