1/*
2 *  linux/arch/arm/kernel/calls.S
3 *
4 *  Copyright (C) 1995-2005 Russell King
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 *  This file is included thrice in entry-common.S
11 */
12/* 0 */		CALL(sys_restart_syscall)
13		CALL(sys_exit)
14		CALL(sys_fork)
15		CALL(sys_read)
16		CALL(sys_write)
17/* 5 */		CALL(sys_open)
18		CALL(sys_close)
19		CALL(sys_ni_syscall)		/* was sys_waitpid */
20		CALL(sys_creat)
21		CALL(sys_link)
22/* 10 */	CALL(sys_unlink)
23		CALL(sys_execve)
24		CALL(sys_chdir)
25		CALL(OBSOLETE(sys_time))	/* used by libc4 */
26		CALL(sys_mknod)
27/* 15 */	CALL(sys_chmod)
28		CALL(sys_lchown16)
29		CALL(sys_ni_syscall)		/* was sys_break */
30		CALL(sys_ni_syscall)		/* was sys_stat */
31		CALL(sys_lseek)
32/* 20 */	CALL(sys_getpid)
33		CALL(sys_mount)
34		CALL(OBSOLETE(sys_oldumount))	/* used by libc4 */
35		CALL(sys_setuid16)
36		CALL(sys_getuid16)
37/* 25 */	CALL(OBSOLETE(sys_stime))
38		CALL(sys_ptrace)
39		CALL(OBSOLETE(sys_alarm))	/* used by libc4 */
40		CALL(sys_ni_syscall)		/* was sys_fstat */
41		CALL(sys_pause)
42/* 30 */	CALL(OBSOLETE(sys_utime))	/* used by libc4 */
43		CALL(sys_ni_syscall)		/* was sys_stty */
44		CALL(sys_ni_syscall)		/* was sys_getty */
45		CALL(sys_access)
46		CALL(sys_nice)
47/* 35 */	CALL(sys_ni_syscall)		/* was sys_ftime */
48		CALL(sys_sync)
49		CALL(sys_kill)
50		CALL(sys_rename)
51		CALL(sys_mkdir)
52/* 40 */	CALL(sys_rmdir)
53		CALL(sys_dup)
54		CALL(sys_pipe)
55		CALL(sys_times)
56		CALL(sys_ni_syscall)		/* was sys_prof */
57/* 45 */	CALL(sys_brk)
58		CALL(sys_setgid16)
59		CALL(sys_getgid16)
60		CALL(sys_ni_syscall)		/* was sys_signal */
61		CALL(sys_geteuid16)
62/* 50 */	CALL(sys_getegid16)
63		CALL(sys_acct)
64		CALL(sys_umount)
65		CALL(sys_ni_syscall)		/* was sys_lock */
66		CALL(sys_ioctl)
67/* 55 */	CALL(sys_fcntl)
68		CALL(sys_ni_syscall)		/* was sys_mpx */
69		CALL(sys_setpgid)
70		CALL(sys_ni_syscall)		/* was sys_ulimit */
71		CALL(sys_ni_syscall)		/* was sys_olduname */
72/* 60 */	CALL(sys_umask)
73		CALL(sys_chroot)
74		CALL(sys_ustat)
75		CALL(sys_dup2)
76		CALL(sys_getppid)
77/* 65 */	CALL(sys_getpgrp)
78		CALL(sys_setsid)
79		CALL(sys_sigaction)
80		CALL(sys_ni_syscall)		/* was sys_sgetmask */
81		CALL(sys_ni_syscall)		/* was sys_ssetmask */
82/* 70 */	CALL(sys_setreuid16)
83		CALL(sys_setregid16)
84		CALL(sys_sigsuspend)
85		CALL(sys_sigpending)
86		CALL(sys_sethostname)
87/* 75 */	CALL(sys_setrlimit)
88		CALL(OBSOLETE(sys_old_getrlimit)) /* used by libc4 */
89		CALL(sys_getrusage)
90		CALL(sys_gettimeofday)
91		CALL(sys_settimeofday)
92/* 80 */	CALL(sys_getgroups16)
93		CALL(sys_setgroups16)
94		CALL(OBSOLETE(sys_old_select))	/* used by libc4 */
95		CALL(sys_symlink)
96		CALL(sys_ni_syscall)		/* was sys_lstat */
97/* 85 */	CALL(sys_readlink)
98		CALL(sys_uselib)
99		CALL(sys_swapon)
100		CALL(sys_reboot)
101		CALL(OBSOLETE(sys_old_readdir))	/* used by libc4 */
102/* 90 */	CALL(OBSOLETE(sys_old_mmap))	/* used by libc4 */
103		CALL(sys_munmap)
104		CALL(sys_truncate)
105		CALL(sys_ftruncate)
106		CALL(sys_fchmod)
107/* 95 */	CALL(sys_fchown16)
108		CALL(sys_getpriority)
109		CALL(sys_setpriority)
110		CALL(sys_ni_syscall)		/* was sys_profil */
111		CALL(sys_statfs)
112/* 100 */	CALL(sys_fstatfs)
113		CALL(sys_ni_syscall)		/* sys_ioperm */
114		CALL(OBSOLETE(ABI(sys_socketcall, sys_oabi_socketcall)))
115		CALL(sys_syslog)
116		CALL(sys_setitimer)
117/* 105 */	CALL(sys_getitimer)
118		CALL(sys_newstat)
119		CALL(sys_newlstat)
120		CALL(sys_newfstat)
121		CALL(sys_ni_syscall)		/* was sys_uname */
122/* 110 */	CALL(sys_ni_syscall)		/* was sys_iopl */
123		CALL(sys_vhangup)
124		CALL(sys_ni_syscall)
125		CALL(OBSOLETE(sys_syscall))	/* call a syscall */
126		CALL(sys_wait4)
127/* 115 */	CALL(sys_swapoff)
128		CALL(sys_sysinfo)
129		CALL(OBSOLETE(ABI(sys_ipc, sys_oabi_ipc)))
130		CALL(sys_fsync)
131		CALL(sys_sigreturn_wrapper)
132/* 120 */	CALL(sys_clone)
133		CALL(sys_setdomainname)
134		CALL(sys_newuname)
135		CALL(sys_ni_syscall)		/* modify_ldt */
136		CALL(sys_adjtimex)
137/* 125 */	CALL(sys_mprotect)
138		CALL(sys_sigprocmask)
139		CALL(sys_ni_syscall)		/* was sys_create_module */
140		CALL(sys_init_module)
141		CALL(sys_delete_module)
142/* 130 */	CALL(sys_ni_syscall)		/* was sys_get_kernel_syms */
143		CALL(sys_quotactl)
144		CALL(sys_getpgid)
145		CALL(sys_fchdir)
146		CALL(sys_bdflush)
147/* 135 */	CALL(sys_sysfs)
148		CALL(sys_personality)
149		CALL(sys_ni_syscall)		/* reserved for afs_syscall */
150		CALL(sys_setfsuid16)
151		CALL(sys_setfsgid16)
152/* 140 */	CALL(sys_llseek)
153		CALL(sys_getdents)
154		CALL(sys_select)
155		CALL(sys_flock)
156		CALL(sys_msync)
157/* 145 */	CALL(sys_readv)
158		CALL(sys_writev)
159		CALL(sys_getsid)
160		CALL(sys_fdatasync)
161		CALL(sys_sysctl)
162/* 150 */	CALL(sys_mlock)
163		CALL(sys_munlock)
164		CALL(sys_mlockall)
165		CALL(sys_munlockall)
166		CALL(sys_sched_setparam)
167/* 155 */	CALL(sys_sched_getparam)
168		CALL(sys_sched_setscheduler)
169		CALL(sys_sched_getscheduler)
170		CALL(sys_sched_yield)
171		CALL(sys_sched_get_priority_max)
172/* 160 */	CALL(sys_sched_get_priority_min)
173		CALL(sys_sched_rr_get_interval)
174		CALL(sys_nanosleep)
175		CALL(sys_mremap)
176		CALL(sys_setresuid16)
177/* 165 */	CALL(sys_getresuid16)
178		CALL(sys_ni_syscall)		/* vm86 */
179		CALL(sys_ni_syscall)		/* was sys_query_module */
180		CALL(sys_poll)
181		CALL(sys_ni_syscall)		/* was nfsservctl */
182/* 170 */	CALL(sys_setresgid16)
183		CALL(sys_getresgid16)
184		CALL(sys_prctl)
185		CALL(sys_rt_sigreturn_wrapper)
186		CALL(sys_rt_sigaction)
187/* 175 */	CALL(sys_rt_sigprocmask)
188		CALL(sys_rt_sigpending)
189		CALL(sys_rt_sigtimedwait)
190		CALL(sys_rt_sigqueueinfo)
191		CALL(sys_rt_sigsuspend)
192/* 180 */	CALL(ABI(sys_pread64, sys_oabi_pread64))
193		CALL(ABI(sys_pwrite64, sys_oabi_pwrite64))
194		CALL(sys_chown16)
195		CALL(sys_getcwd)
196		CALL(sys_capget)
197/* 185 */	CALL(sys_capset)
198		CALL(sys_sigaltstack)
199		CALL(sys_sendfile)
200		CALL(sys_ni_syscall)		/* getpmsg */
201		CALL(sys_ni_syscall)		/* putpmsg */
202/* 190 */	CALL(sys_vfork)
203		CALL(sys_getrlimit)
204		CALL(sys_mmap2)
205		CALL(ABI(sys_truncate64, sys_oabi_truncate64))
206		CALL(ABI(sys_ftruncate64, sys_oabi_ftruncate64))
207/* 195 */	CALL(ABI(sys_stat64, sys_oabi_stat64))
208		CALL(ABI(sys_lstat64, sys_oabi_lstat64))
209		CALL(ABI(sys_fstat64, sys_oabi_fstat64))
210		CALL(sys_lchown)
211		CALL(sys_getuid)
212/* 200 */	CALL(sys_getgid)
213		CALL(sys_geteuid)
214		CALL(sys_getegid)
215		CALL(sys_setreuid)
216		CALL(sys_setregid)
217/* 205 */	CALL(sys_getgroups)
218		CALL(sys_setgroups)
219		CALL(sys_fchown)
220		CALL(sys_setresuid)
221		CALL(sys_getresuid)
222/* 210 */	CALL(sys_setresgid)
223		CALL(sys_getresgid)
224		CALL(sys_chown)
225		CALL(sys_setuid)
226		CALL(sys_setgid)
227/* 215 */	CALL(sys_setfsuid)
228		CALL(sys_setfsgid)
229		CALL(sys_getdents64)
230		CALL(sys_pivot_root)
231		CALL(sys_mincore)
232/* 220 */	CALL(sys_madvise)
233		CALL(ABI(sys_fcntl64, sys_oabi_fcntl64))
234		CALL(sys_ni_syscall) /* TUX */
235		CALL(sys_ni_syscall)
236		CALL(sys_gettid)
237/* 225 */	CALL(ABI(sys_readahead, sys_oabi_readahead))
238		CALL(sys_setxattr)
239		CALL(sys_lsetxattr)
240		CALL(sys_fsetxattr)
241		CALL(sys_getxattr)
242/* 230 */	CALL(sys_lgetxattr)
243		CALL(sys_fgetxattr)
244		CALL(sys_listxattr)
245		CALL(sys_llistxattr)
246		CALL(sys_flistxattr)
247/* 235 */	CALL(sys_removexattr)
248		CALL(sys_lremovexattr)
249		CALL(sys_fremovexattr)
250		CALL(sys_tkill)
251		CALL(sys_sendfile64)
252/* 240 */	CALL(sys_futex)
253		CALL(sys_sched_setaffinity)
254		CALL(sys_sched_getaffinity)
255		CALL(sys_io_setup)
256		CALL(sys_io_destroy)
257/* 245 */	CALL(sys_io_getevents)
258		CALL(sys_io_submit)
259		CALL(sys_io_cancel)
260		CALL(sys_exit_group)
261		CALL(sys_lookup_dcookie)
262/* 250 */	CALL(sys_epoll_create)
263		CALL(ABI(sys_epoll_ctl, sys_oabi_epoll_ctl))
264		CALL(ABI(sys_epoll_wait, sys_oabi_epoll_wait))
265		CALL(sys_remap_file_pages)
266		CALL(sys_ni_syscall)	/* sys_set_thread_area */
267/* 255 */	CALL(sys_ni_syscall)	/* sys_get_thread_area */
268		CALL(sys_set_tid_address)
269		CALL(sys_timer_create)
270		CALL(sys_timer_settime)
271		CALL(sys_timer_gettime)
272/* 260 */	CALL(sys_timer_getoverrun)
273		CALL(sys_timer_delete)
274		CALL(sys_clock_settime)
275		CALL(sys_clock_gettime)
276		CALL(sys_clock_getres)
277/* 265 */	CALL(sys_clock_nanosleep)
278		CALL(sys_statfs64_wrapper)
279		CALL(sys_fstatfs64_wrapper)
280		CALL(sys_tgkill)
281		CALL(sys_utimes)
282/* 270 */	CALL(sys_arm_fadvise64_64)
283		CALL(sys_pciconfig_iobase)
284		CALL(sys_pciconfig_read)
285		CALL(sys_pciconfig_write)
286		CALL(sys_mq_open)
287/* 275 */	CALL(sys_mq_unlink)
288		CALL(sys_mq_timedsend)
289		CALL(sys_mq_timedreceive)
290		CALL(sys_mq_notify)
291		CALL(sys_mq_getsetattr)
292/* 280 */	CALL(sys_waitid)
293		CALL(sys_socket)
294		CALL(ABI(sys_bind, sys_oabi_bind))
295		CALL(ABI(sys_connect, sys_oabi_connect))
296		CALL(sys_listen)
297/* 285 */	CALL(sys_accept)
298		CALL(sys_getsockname)
299		CALL(sys_getpeername)
300		CALL(sys_socketpair)
301		CALL(sys_send)
302/* 290 */	CALL(ABI(sys_sendto, sys_oabi_sendto))
303		CALL(sys_recv)
304		CALL(sys_recvfrom)
305		CALL(sys_shutdown)
306		CALL(sys_setsockopt)
307/* 295 */	CALL(sys_getsockopt)
308		CALL(ABI(sys_sendmsg, sys_oabi_sendmsg))
309		CALL(sys_recvmsg)
310		CALL(ABI(sys_semop, sys_oabi_semop))
311		CALL(sys_semget)
312/* 300 */	CALL(sys_semctl)
313		CALL(sys_msgsnd)
314		CALL(sys_msgrcv)
315		CALL(sys_msgget)
316		CALL(sys_msgctl)
317/* 305 */	CALL(sys_shmat)
318		CALL(sys_shmdt)
319		CALL(sys_shmget)
320		CALL(sys_shmctl)
321		CALL(sys_add_key)
322/* 310 */	CALL(sys_request_key)
323		CALL(sys_keyctl)
324		CALL(ABI(sys_semtimedop, sys_oabi_semtimedop))
325/* vserver */	CALL(sys_ni_syscall)
326		CALL(sys_ioprio_set)
327/* 315 */	CALL(sys_ioprio_get)
328		CALL(sys_inotify_init)
329		CALL(sys_inotify_add_watch)
330		CALL(sys_inotify_rm_watch)
331		CALL(sys_mbind)
332/* 320 */	CALL(sys_get_mempolicy)
333		CALL(sys_set_mempolicy)
334		CALL(sys_openat)
335		CALL(sys_mkdirat)
336		CALL(sys_mknodat)
337/* 325 */	CALL(sys_fchownat)
338		CALL(sys_futimesat)
339		CALL(ABI(sys_fstatat64,  sys_oabi_fstatat64))
340		CALL(sys_unlinkat)
341		CALL(sys_renameat)
342/* 330 */	CALL(sys_linkat)
343		CALL(sys_symlinkat)
344		CALL(sys_readlinkat)
345		CALL(sys_fchmodat)
346		CALL(sys_faccessat)
347/* 335 */	CALL(sys_pselect6)
348		CALL(sys_ppoll)
349		CALL(sys_unshare)
350		CALL(sys_set_robust_list)
351		CALL(sys_get_robust_list)
352/* 340 */	CALL(sys_splice)
353		CALL(sys_sync_file_range2)
354		CALL(sys_tee)
355		CALL(sys_vmsplice)
356		CALL(sys_move_pages)
357/* 345 */	CALL(sys_getcpu)
358		CALL(sys_epoll_pwait)
359		CALL(sys_kexec_load)
360		CALL(sys_utimensat)
361		CALL(sys_signalfd)
362/* 350 */	CALL(sys_timerfd_create)
363		CALL(sys_eventfd)
364		CALL(sys_fallocate)
365		CALL(sys_timerfd_settime)
366		CALL(sys_timerfd_gettime)
367/* 355 */	CALL(sys_signalfd4)
368		CALL(sys_eventfd2)
369		CALL(sys_epoll_create1)
370		CALL(sys_dup3)
371		CALL(sys_pipe2)
372/* 360 */	CALL(sys_inotify_init1)
373		CALL(sys_preadv)
374		CALL(sys_pwritev)
375		CALL(sys_rt_tgsigqueueinfo)
376		CALL(sys_perf_event_open)
377/* 365 */	CALL(sys_recvmmsg)
378		CALL(sys_accept4)
379		CALL(sys_fanotify_init)
380		CALL(sys_fanotify_mark)
381		CALL(sys_prlimit64)
382/* 370 */	CALL(sys_name_to_handle_at)
383		CALL(sys_open_by_handle_at)
384		CALL(sys_clock_adjtime)
385		CALL(sys_syncfs)
386		CALL(sys_sendmmsg)
387/* 375 */	CALL(sys_setns)
388		CALL(sys_process_vm_readv)
389		CALL(sys_process_vm_writev)
390		CALL(sys_kcmp)
391		CALL(sys_finit_module)
392/* 380 */	CALL(sys_sched_setattr)
393		CALL(sys_sched_getattr)
394		CALL(sys_renameat2)
395		CALL(sys_seccomp)
396		CALL(sys_getrandom)
397/* 385 */	CALL(sys_memfd_create)
398		CALL(sys_bpf)
399		CALL(sys_execveat)
400		CALL(sys_userfaultfd)
401		CALL(sys_membarrier)
402		CALL(sys_mlock2)
403#ifndef syscalls_counted
404.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
405#define syscalls_counted
406#endif
407.rept syscalls_padding
408		CALL(sys_ni_syscall)
409.endr
410