add common routine for setting a1/a2 for start/len of mmap.
[trinity.git] / include / syscalls-arm.h
blob1cac01f509eae3f88ee20f931798b11cc75cf3bc
1 /*
2 * derived from linux/arch/arm/kernel/calls.S
3 */
5 #include "sanitise.h"
6 #include "syscall.h"
7 #include "syscalls/syscalls.h"
9 struct syscalltable syscalls_arm[] = {
11 /* 0 */ { .entry = &syscall_restart_syscall },
12 { .entry = &syscall_exit },
13 { .entry = &syscall_fork },
14 { .entry = &syscall_read },
15 { .entry = &syscall_write },
16 /* 5 */ { .entry = &syscall_open },
17 { .entry = &syscall_close },
18 { .entry = &syscall_ni_syscall }, /* was sys_waitpid */
19 { .entry = &syscall_creat },
20 { .entry = &syscall_link },
21 /* 10 */ { .entry = &syscall_unlink },
22 { .entry = &syscall_execve },
23 { .entry = &syscall_chdir },
24 { .entry = &syscall_time }, /* used by libc4 */
25 { .entry = &syscall_mknod },
26 /* 15 */ { .entry = &syscall_chmod },
27 { .entry = &syscall_lchown16 },
28 { .entry = &syscall_ni_syscall }, /* was sys_break */
29 { .entry = &syscall_ni_syscall }, /* was sys_stat */
30 { .entry = &syscall_lseek },
31 /* 20 */ { .entry = &syscall_getpid },
32 { .entry = &syscall_mount },
33 { .entry = &syscall_oldumount }, /* used by libc4 */
34 { .entry = &syscall_setuid16 },
35 { .entry = &syscall_getuid16 },
36 /* 25 */ { .entry = &syscall_stime },
37 { .entry = &syscall_ptrace },
38 { .entry = &syscall_alarm }, /* used by libc4 */
39 { .entry = &syscall_ni_syscall }, /* was sys_fstat */
40 { .entry = &syscall_pause },
41 /* 30 */ { .entry = &syscall_utime }, /* used by libc4 */
42 { .entry = &syscall_ni_syscall }, /* was sys_stty */
43 { .entry = &syscall_ni_syscall }, /* was sys_getty */
44 { .entry = &syscall_access },
45 { .entry = &syscall_nice },
46 /* 35 */ { .entry = &syscall_ni_syscall }, /* was sys_ftime */
47 { .entry = &syscall_sync },
48 { .entry = &syscall_kill },
49 { .entry = &syscall_rename },
50 { .entry = &syscall_mkdir },
51 /* 40 */ { .entry = &syscall_rmdir },
52 { .entry = &syscall_dup },
53 { .entry = &syscall_pipe },
54 { .entry = &syscall_times },
55 { .entry = &syscall_ni_syscall }, /* was sys_prof */
56 /* 45 */ { .entry = &syscall_brk },
57 { .entry = &syscall_setgid16 },
58 { .entry = &syscall_getgid16 },
59 { .entry = &syscall_ni_syscall }, /* was sys_signal */
60 { .entry = &syscall_geteuid16 },
61 /* 50 */ { .entry = &syscall_getegid16 },
62 { .entry = &syscall_acct },
63 { .entry = &syscall_umount },
64 { .entry = &syscall_ni_syscall }, /* was sys_lock */
65 { .entry = &syscall_ioctl },
66 /* 55 */ { .entry = &syscall_fcntl },
67 { .entry = &syscall_ni_syscall }, /* was sys_mpx */
68 { .entry = &syscall_setpgid },
69 { .entry = &syscall_ni_syscall }, /* was sys_ulimit */
70 { .entry = &syscall_ni_syscall }, /* was sys_olduname */
71 /* 60 */ { .entry = &syscall_umask },
72 { .entry = &syscall_chroot },
73 { .entry = &syscall_ustat },
74 { .entry = &syscall_dup2 },
75 { .entry = &syscall_getppid },
76 /* 65 */ { .entry = &syscall_getpgrp },
77 { .entry = &syscall_setsid },
78 { .entry = &syscall_sigaction },
79 { .entry = &syscall_ni_syscall }, /* was sys_sgetmask */
80 { .entry = &syscall_ni_syscall }, /* was sys_ssetmask */
81 /* 70 */ { .entry = &syscall_setreuid16 },
82 { .entry = &syscall_setregid16 },
83 { .entry = &syscall_sigsuspend },
84 { .entry = &syscall_sigpending },
85 { .entry = &syscall_sethostname },
86 /* 75 */ { .entry = &syscall_setrlimit },
87 { .entry = &syscall_ni_syscall }, /*{ .entry = &syscall_old_getrlimit },*/ /* used by libc4 */
88 { .entry = &syscall_getrusage },
89 { .entry = &syscall_gettimeofday },
90 { .entry = &syscall_settimeofday },
91 /* 80 */ { .entry = &syscall_getgroups16 },
92 { .entry = &syscall_setgroups16 },
93 { .entry = &syscall_ni_syscall }, /*{ .entry = &syscall_old_select },*/ /* used by libc4 */
94 { .entry = &syscall_symlink },
95 { .entry = &syscall_ni_syscall }, /* was sys_lstat */
96 /* 85 */ { .entry = &syscall_readlink },
97 { .entry = &syscall_uselib },
98 { .entry = &syscall_swapon },
99 { .entry = &syscall_reboot },
100 { .entry = &syscall_ni_syscall }, /*{ .entry = &syscall_old_readdir },*/ /* used by libc4 */
101 /* 90 */ { .entry = &syscall_ni_syscall }, /*{ .entry = &syscall_old_mmap },*/ /* used by libc4 */
102 { .entry = &syscall_munmap },
103 { .entry = &syscall_truncate },
104 { .entry = &syscall_ftruncate },
105 { .entry = &syscall_fchmod },
106 /* 95 */ { .entry = &syscall_fchown16 },
107 { .entry = &syscall_getpriority },
108 { .entry = &syscall_setpriority },
109 { .entry = &syscall_ni_syscall }, /* was sys_profil */
110 { .entry = &syscall_statfs },
111 /* 100 */ { .entry = &syscall_fstatfs },
112 { .entry = &syscall_ni_syscall }, /* sys_ioperm */
113 { .entry = &syscall_socketcall },
114 { .entry = &syscall_syslog },
115 { .entry = &syscall_setitimer },
116 /* 105 */ { .entry = &syscall_getitimer },
117 { .entry = &syscall_newstat },
118 { .entry = &syscall_newlstat },
119 { .entry = &syscall_newfstat },
120 { .entry = &syscall_ni_syscall }, /* was sys_uname */
121 /* 110 */ { .entry = &syscall_ni_syscall }, /* was sys_iopl */
122 { .entry = &syscall_vhangup },
123 { .entry = &syscall_ni_syscall },
124 { .entry = &syscall_ni_syscall }, /*{ .entry = &syscall_syscall },*/ /* call a syscall */
125 { .entry = &syscall_wait4 },
126 /* 115 */ { .entry = &syscall_swapoff },
127 { .entry = &syscall_sysinfo },
128 { .entry = &syscall_ipc },
129 { .entry = &syscall_fsync },
130 { .entry = &syscall_sigreturn },
131 /* 120 */ { .entry = &syscall_clone },
132 { .entry = &syscall_setdomainname },
133 { .entry = &syscall_newuname },
134 { .entry = &syscall_ni_syscall }, /* modify_ldt */
135 { .entry = &syscall_adjtimex },
136 /* 125 */ { .entry = &syscall_mprotect },
137 { .entry = &syscall_sigprocmask },
138 { .entry = &syscall_ni_syscall }, /* was sys_create_module */
139 { .entry = &syscall_init_module },
140 { .entry = &syscall_delete_module },
141 /* 130 */ { .entry = &syscall_ni_syscall }, /* was sys_get_kernel_syms */
142 { .entry = &syscall_quotactl },
143 { .entry = &syscall_getpgid },
144 { .entry = &syscall_fchdir },
145 { .entry = &syscall_bdflush },
146 /* 135 */ { .entry = &syscall_sysfs },
147 { .entry = &syscall_personality },
148 { .entry = &syscall_ni_syscall }, /* reserved for afs_syscall */
149 { .entry = &syscall_setfsuid16 },
150 { .entry = &syscall_setfsgid16 },
151 /* 140 */ { .entry = &syscall_llseek },
152 { .entry = &syscall_getdents },
153 { .entry = &syscall_select },
154 { .entry = &syscall_flock },
155 { .entry = &syscall_msync },
156 /* 145 */ { .entry = &syscall_readv },
157 { .entry = &syscall_writev },
158 { .entry = &syscall_getsid },
159 { .entry = &syscall_fdatasync },
160 { .entry = &syscall_sysctl },
161 /* 150 */ { .entry = &syscall_mlock },
162 { .entry = &syscall_munlock },
163 { .entry = &syscall_mlockall },
164 { .entry = &syscall_munlockall },
165 { .entry = &syscall_sched_setparam },
166 /* 155 */ { .entry = &syscall_sched_getparam },
167 { .entry = &syscall_sched_setscheduler },
168 { .entry = &syscall_sched_getscheduler },
169 { .entry = &syscall_sched_yield },
170 { .entry = &syscall_sched_get_priority_max },
171 /* 160 */ { .entry = &syscall_sched_get_priority_min },
172 { .entry = &syscall_sched_rr_get_interval },
173 { .entry = &syscall_nanosleep },
174 { .entry = &syscall_mremap },
175 { .entry = &syscall_setresuid16 },
176 /* 165 */ { .entry = &syscall_getresuid16 },
177 { .entry = &syscall_ni_syscall }, /* vm86 */
178 { .entry = &syscall_ni_syscall }, /* was sys_query_module */
179 { .entry = &syscall_poll },
180 { .entry = &syscall_ni_syscall }, /* was nfsservctl */
181 /* 170 */ { .entry = &syscall_setresgid16 },
182 { .entry = &syscall_getresgid16 },
183 { .entry = &syscall_prctl },
184 { .entry = &syscall_rt_sigreturn },
185 { .entry = &syscall_rt_sigaction },
186 /* 175 */ { .entry = &syscall_rt_sigprocmask },
187 { .entry = &syscall_rt_sigpending },
188 { .entry = &syscall_rt_sigtimedwait },
189 { .entry = &syscall_rt_sigqueueinfo },
190 { .entry = &syscall_rt_sigsuspend },
191 /* 180 */ { .entry = &syscall_pread64 },
192 { .entry = &syscall_pwrite64 },
193 { .entry = &syscall_chown16 },
194 { .entry = &syscall_getcwd },
195 { .entry = &syscall_capget },
196 /* 185 */ { .entry = &syscall_capset },
197 { .entry = &syscall_sigaltstack },
198 { .entry = &syscall_sendfile },
199 { .entry = &syscall_ni_syscall }, /* getpmsg */
200 { .entry = &syscall_ni_syscall }, /* putpmsg */
201 /* 190 */ { .entry = &syscall_vfork },
202 { .entry = &syscall_getrlimit },
203 { .entry = &syscall_mmap2 },
204 { .entry = &syscall_truncate64 },
205 { .entry = &syscall_ftruncate64 },
206 /* 195 */ { .entry = &syscall_stat64 },
207 { .entry = &syscall_lstat64 },
208 { .entry = &syscall_fstat64 },
209 { .entry = &syscall_lchown },
210 { .entry = &syscall_getuid },
211 /* 200 */ { .entry = &syscall_getgid },
212 { .entry = &syscall_geteuid },
213 { .entry = &syscall_getegid },
214 { .entry = &syscall_setreuid },
215 { .entry = &syscall_setregid },
216 /* 205 */ { .entry = &syscall_getgroups },
217 { .entry = &syscall_setgroups },
218 { .entry = &syscall_fchown },
219 { .entry = &syscall_setresuid },
220 { .entry = &syscall_getresuid },
221 /* 210 */ { .entry = &syscall_setresgid },
222 { .entry = &syscall_getresgid },
223 { .entry = &syscall_chown },
224 { .entry = &syscall_setuid },
225 { .entry = &syscall_setgid },
226 /* 215 */ { .entry = &syscall_setfsuid },
227 { .entry = &syscall_setfsgid },
228 { .entry = &syscall_getdents64 },
229 { .entry = &syscall_pivot_root },
230 { .entry = &syscall_mincore },
231 /* 220 */ { .entry = &syscall_madvise },
232 { .entry = &syscall_fcntl }, /* fcntl64 */
233 { .entry = &syscall_ni_syscall }, /* TUX */
234 { .entry = &syscall_ni_syscall },
235 { .entry = &syscall_gettid },
236 /* 225 */ { .entry = &syscall_readahead },
237 { .entry = &syscall_setxattr },
238 { .entry = &syscall_lsetxattr },
239 { .entry = &syscall_fsetxattr },
240 { .entry = &syscall_getxattr },
241 /* 230 */ { .entry = &syscall_lgetxattr },
242 { .entry = &syscall_fgetxattr },
243 { .entry = &syscall_listxattr },
244 { .entry = &syscall_llistxattr },
245 { .entry = &syscall_flistxattr },
246 /* 235 */ { .entry = &syscall_removexattr },
247 { .entry = &syscall_lremovexattr },
248 { .entry = &syscall_fremovexattr },
249 { .entry = &syscall_tkill },
250 { .entry = &syscall_sendfile64 },
251 /* 240 */ { .entry = &syscall_futex },
252 { .entry = &syscall_sched_setaffinity },
253 { .entry = &syscall_sched_getaffinity },
254 { .entry = &syscall_io_setup },
255 { .entry = &syscall_io_destroy },
256 /* 245 */ { .entry = &syscall_io_getevents },
257 { .entry = &syscall_io_submit },
258 { .entry = &syscall_io_cancel },
259 { .entry = &syscall_exit_group },
260 { .entry = &syscall_lookup_dcookie },
261 /* 250 */ { .entry = &syscall_epoll_create },
262 { .entry = &syscall_epoll_ctl },
263 { .entry = &syscall_epoll_wait },
264 { .entry = &syscall_remap_file_pages },
265 { .entry = &syscall_ni_syscall }, /* sys_set_thread_area */
266 /* 255 */ { .entry = &syscall_ni_syscall }, /* sys_get_thread_area */
267 { .entry = &syscall_set_tid_address },
268 { .entry = &syscall_timer_create },
269 { .entry = &syscall_timer_settime },
270 { .entry = &syscall_timer_gettime },
271 /* 260 */ { .entry = &syscall_timer_getoverrun },
272 { .entry = &syscall_timer_delete },
273 { .entry = &syscall_clock_settime },
274 { .entry = &syscall_clock_gettime },
275 { .entry = &syscall_clock_getres },
276 /* 265 */ { .entry = &syscall_clock_nanosleep },
277 { .entry = &syscall_statfs64 },
278 { .entry = &syscall_fstatfs64 },
279 { .entry = &syscall_tgkill },
280 { .entry = &syscall_utimes },
281 /* 270 */ { .entry = &syscall_arm_fadvise64_64 },
282 { .entry = &syscall_pciconfig_iobase },
283 { .entry = &syscall_pciconfig_read },
284 { .entry = &syscall_pciconfig_write },
285 { .entry = &syscall_mq_open },
286 /* 275 */ { .entry = &syscall_mq_unlink },
287 { .entry = &syscall_mq_timedsend },
288 { .entry = &syscall_mq_timedreceive },
289 { .entry = &syscall_mq_notify },
290 { .entry = &syscall_mq_getsetattr },
291 /* 280 */ { .entry = &syscall_waitid },
292 { .entry = &syscall_socket },
293 { .entry = &syscall_bind },
294 { .entry = &syscall_connect },
295 { .entry = &syscall_listen },
296 /* 285 */ { .entry = &syscall_accept },
297 { .entry = &syscall_getsockname },
298 { .entry = &syscall_getpeername },
299 { .entry = &syscall_socketpair },
300 { .entry = &syscall_send },
301 /* 290 */ { .entry = &syscall_sendto },
302 { .entry = &syscall_recv },
303 { .entry = &syscall_recvfrom },
304 { .entry = &syscall_shutdown },
305 { .entry = &syscall_setsockopt },
306 /* 295 */ { .entry = &syscall_getsockopt },
307 { .entry = &syscall_sendmsg },
308 { .entry = &syscall_recvmsg },
309 { .entry = &syscall_semop },
310 { .entry = &syscall_semget },
311 /* 300 */ { .entry = &syscall_semctl },
312 { .entry = &syscall_msgsnd },
313 { .entry = &syscall_msgrcv },
314 { .entry = &syscall_msgget },
315 { .entry = &syscall_msgctl },
316 /* 305 */ { .entry = &syscall_shmat },
317 { .entry = &syscall_shmdt },
318 { .entry = &syscall_shmget },
319 { .entry = &syscall_shmctl },
320 { .entry = &syscall_add_key },
321 /* 310 */ { .entry = &syscall_request_key },
322 { .entry = &syscall_keyctl },
323 { .entry = &syscall_semtimedop },
324 /* vserver */ { .entry = &syscall_ni_syscall },
325 { .entry = &syscall_ioprio_set },
326 /* 315 */ { .entry = &syscall_ioprio_get },
327 { .entry = &syscall_inotify_init },
328 { .entry = &syscall_inotify_add_watch },
329 { .entry = &syscall_inotify_rm_watch },
330 { .entry = &syscall_mbind },
331 /* 320 */ { .entry = &syscall_get_mempolicy },
332 { .entry = &syscall_set_mempolicy },
333 { .entry = &syscall_openat },
334 { .entry = &syscall_mkdirat },
335 { .entry = &syscall_mknodat },
336 /* 325 */ { .entry = &syscall_fchownat },
337 { .entry = &syscall_futimesat },
338 { .entry = &syscall_fstatat64 },
339 { .entry = &syscall_unlinkat },
340 { .entry = &syscall_renameat },
341 /* 330 */ { .entry = &syscall_linkat },
342 { .entry = &syscall_symlinkat },
343 { .entry = &syscall_readlinkat },
344 { .entry = &syscall_fchmodat },
345 { .entry = &syscall_faccessat },
346 /* 335 */ { .entry = &syscall_pselect6 },
347 { .entry = &syscall_ppoll },
348 { .entry = &syscall_unshare },
349 { .entry = &syscall_set_robust_list },
350 { .entry = &syscall_get_robust_list },
351 /* 340 */ { .entry = &syscall_splice },
352 { .entry = &syscall_sync_file_range2 },
353 { .entry = &syscall_tee },
354 { .entry = &syscall_vmsplice },
355 { .entry = &syscall_move_pages },
356 /* 345 */ { .entry = &syscall_getcpu },
357 { .entry = &syscall_epoll_pwait },
358 { .entry = &syscall_kexec_load },
359 { .entry = &syscall_utimensat },
360 { .entry = &syscall_signalfd },
361 /* 350 */ { .entry = &syscall_timerfd_create },
362 { .entry = &syscall_eventfd },
363 { .entry = &syscall_fallocate },
364 { .entry = &syscall_timerfd_settime },
365 { .entry = &syscall_timerfd_gettime },
366 /* 355 */ { .entry = &syscall_signalfd4 },
367 { .entry = &syscall_eventfd2 },
368 { .entry = &syscall_epoll_create1 },
369 { .entry = &syscall_dup3 },
370 { .entry = &syscall_pipe2 },
371 /* 360 */ { .entry = &syscall_inotify_init1 },
372 { .entry = &syscall_preadv },
373 { .entry = &syscall_pwritev },
374 { .entry = &syscall_rt_tgsigqueueinfo },
375 { .entry = &syscall_perf_event_open },
376 /* 365 */ { .entry = &syscall_recvmmsg },
377 { .entry = &syscall_accept4 },
378 { .entry = &syscall_fanotify_init },
379 { .entry = &syscall_fanotify_mark },
380 { .entry = &syscall_prlimit64 },
381 /* 370 */ { .entry = &syscall_name_to_handle_at },
382 { .entry = &syscall_open_by_handle_at },
383 { .entry = &syscall_clock_adjtime },
384 { .entry = &syscall_syncfs },
385 { .entry = &syscall_sendmmsg },
386 /* 375 */ { .entry = &syscall_setns },
387 { .entry = &syscall_process_vm_readv },
388 { .entry = &syscall_process_vm_writev },
389 { .entry = &syscall_ni_syscall }, /* reserved for sys_kcmp */