2 * derived from linux/arch/arm/kernel/calls.S
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 */