blob: 4585cdf35e847c47be932a088713d28539d5ab30 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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 *
Al Virofa1b4f92006-01-19 12:57:01 +000010 * This file is included thrice in entry-common.S
Linus Torvalds1da177e2005-04-16 15:20:36 -070011 */
Al Virofa1b4f92006-01-19 12:57:01 +000012/* 0 */ CALL(sys_restart_syscall)
13 CALL(sys_exit)
Al Viro38a61b62012-10-21 15:54:27 -040014 CALL(sys_fork)
Al Virofa1b4f92006-01-19 12:57:01 +000015 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)
Al Viroa63c97a2012-08-02 11:52:41 +040023 CALL(sys_execve)
Al Virofa1b4f92006-01-19 12:57:01 +000024 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)
Mikael Pettersson36984262009-08-15 12:58:11 +010084 CALL(sys_sigsuspend)
Al Virofa1b4f92006-01-19 12:57:01 +000085 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)
Christoph Hellwig5d0e5282010-03-10 15:21:13 -080094 CALL(OBSOLETE(sys_old_select)) /* used by libc4 */
Al Virofa1b4f92006-01-19 12:57:01 +000095 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)
Heiko Carstense55380e2009-01-14 14:13:55 +0100101 CALL(OBSOLETE(sys_old_readdir)) /* used by libc4 */
Christoph Hellwiga4679372010-03-10 15:21:15 -0800102/* 90 */ CALL(OBSOLETE(sys_old_mmap)) /* used by libc4 */
Al Virofa1b4f92006-01-19 12:57:01 +0000103 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)
Russell King5a059f12006-12-17 18:23:10 +0000113 CALL(sys_ni_syscall) /* sys_ioperm */
Nicolas Pitre6c0fa492006-02-16 22:36:13 +0000114 CALL(OBSOLETE(ABI(sys_socketcall, sys_oabi_socketcall)))
Al Virofa1b4f92006-01-19 12:57:01 +0000115 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)
Al Viro38a61b62012-10-21 15:54:27 -0400132/* 120 */ CALL(sys_clone)
Al Virofa1b4f92006-01-19 12:57:01 +0000133 CALL(sys_setdomainname)
134 CALL(sys_newuname)
Russell King5a059f12006-12-17 18:23:10 +0000135 CALL(sys_ni_syscall) /* modify_ldt */
Al Virofa1b4f92006-01-19 12:57:01 +0000136 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)
Russell King5a059f12006-12-17 18:23:10 +0000149 CALL(sys_ni_syscall) /* reserved for afs_syscall */
Al Virofa1b4f92006-01-19 12:57:01 +0000150 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)
Al Viro2ea1d132009-11-30 13:06:51 -0500175 CALL(sys_mremap)
Al Virofa1b4f92006-01-19 12:57:01 +0000176 CALL(sys_setresuid16)
177/* 165 */ CALL(sys_getresuid16)
Russell King5a059f12006-12-17 18:23:10 +0000178 CALL(sys_ni_syscall) /* vm86 */
Al Virofa1b4f92006-01-19 12:57:01 +0000179 CALL(sys_ni_syscall) /* was sys_query_module */
180 CALL(sys_poll)
NeilBrownf5b94092011-08-26 18:03:11 -0400181 CALL(sys_ni_syscall) /* was nfsservctl */
Al Virofa1b4f92006-01-19 12:57:01 +0000182/* 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)
Mikael Pettersson36984262009-08-15 12:58:11 +0100191 CALL(sys_rt_sigsuspend)
Al Virofa1b4f92006-01-19 12:57:01 +0000192/* 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)
Al Viroec93ac82012-12-23 01:52:54 -0500198 CALL(sys_sigaltstack)
Al Virofa1b4f92006-01-19 12:57:01 +0000199 CALL(sys_sendfile)
Russell King5a059f12006-12-17 18:23:10 +0000200 CALL(sys_ni_syscall) /* getpmsg */
201 CALL(sys_ni_syscall) /* putpmsg */
Al Viro38a61b62012-10-21 15:54:27 -0400202/* 190 */ CALL(sys_vfork)
Al Virofa1b4f92006-01-19 12:57:01 +0000203 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))
Stefan Schmidt751a8ae2008-08-12 11:15:02 +0100265 CALL(sys_remap_file_pages)
Al Virofa1b4f92006-01-19 12:57:01 +0000266 CALL(sys_ni_syscall) /* sys_set_thread_area */
267/* 255 */ CALL(sys_ni_syscall) /* sys_get_thread_area */
Stefan Schmidt751a8ae2008-08-12 11:15:02 +0100268 CALL(sys_set_tid_address)
Al Virofa1b4f92006-01-19 12:57:01 +0000269 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)
Nicolas Pitre99595d02006-02-08 21:19:36 +0000294 CALL(ABI(sys_bind, sys_oabi_bind))
295 CALL(ABI(sys_connect, sys_oabi_connect))
Al Virofa1b4f92006-01-19 12:57:01 +0000296 CALL(sys_listen)
297/* 285 */ CALL(sys_accept)
298 CALL(sys_getsockname)
299 CALL(sys_getpeername)
300 CALL(sys_socketpair)
301 CALL(sys_send)
Nicolas Pitre99595d02006-02-08 21:19:36 +0000302/* 290 */ CALL(ABI(sys_sendto, sys_oabi_sendto))
Al Virofa1b4f92006-01-19 12:57:01 +0000303 CALL(sys_recv)
304 CALL(sys_recvfrom)
305 CALL(sys_shutdown)
306 CALL(sys_setsockopt)
307/* 295 */ CALL(sys_getsockopt)
Nicolas Pitre99595d02006-02-08 21:19:36 +0000308 CALL(ABI(sys_sendmsg, sys_oabi_sendmsg))
Al Virofa1b4f92006-01-19 12:57:01 +0000309 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)
Russell Kingbca0b8e2006-12-09 16:41:55 +0000334 CALL(sys_openat)
335 CALL(sys_mkdirat)
336 CALL(sys_mknodat)
337/* 325 */ CALL(sys_fchownat)
338 CALL(sys_futimesat)
Riku Voipioc60afe12008-03-28 13:08:09 +0100339 CALL(ABI(sys_fstatat64, sys_oabi_fstatat64))
Russell Kingbca0b8e2006-12-09 16:41:55 +0000340 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)
Mikael Pettersson36984262009-08-15 12:58:11 +0100347/* 335 */ CALL(sys_pselect6)
348 CALL(sys_ppoll)
Russell King5a059f12006-12-17 18:23:10 +0000349 CALL(sys_unshare)
350 CALL(sys_set_robust_list)
351 CALL(sys_get_robust_list)
352/* 340 */ CALL(sys_splice)
David Woodhouseedd5cd42007-06-27 14:10:09 -0700353 CALL(sys_sync_file_range2)
Russell King5a059f12006-12-17 18:23:10 +0000354 CALL(sys_tee)
355 CALL(sys_vmsplice)
356 CALL(sys_move_pages)
357/* 345 */ CALL(sys_getcpu)
Mikael Pettersson36984262009-08-15 12:58:11 +0100358 CALL(sys_epoll_pwait)
Richard Purdiec587e4a2007-02-06 21:29:00 +0100359 CALL(sys_kexec_load)
Russell Kingc0510792007-05-16 12:41:15 +0100360 CALL(sys_utimensat)
361 CALL(sys_signalfd)
Uwe Kleine-Königcbfc0f02008-03-06 16:22:00 +0100362/* 350 */ CALL(sys_timerfd_create)
Russell Kingc0510792007-05-16 12:41:15 +0100363 CALL(sys_eventfd)
Russell King883042d2007-09-30 17:37:24 +0100364 CALL(sys_fallocate)
Uwe Kleine-Königcbfc0f02008-03-06 16:22:00 +0100365 CALL(sys_timerfd_settime)
366 CALL(sys_timerfd_gettime)
Stefan Schmidt751a8ae2008-08-12 11:15:02 +0100367/* 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)
Mikael Petterssoneb8f3142009-04-18 21:26:57 +0100373 CALL(sys_preadv)
374 CALL(sys_pwritev)
Russell Kinge01916e2009-06-20 22:25:45 +0100375 CALL(sys_rt_tgsigqueueinfo)
Ingo Molnarcdd6c482009-09-21 12:02:48 +0200376 CALL(sys_perf_event_open)
Arnaldo Carvalho de Meloa2e27252009-10-12 23:40:10 -0700377/* 365 */ CALL(sys_recvmmsg)
Mikael Pettersson21d93e22010-08-15 10:47:23 +0100378 CALL(sys_accept4)
Mikael Pettersson418cf642010-08-25 20:49:01 +0100379 CALL(sys_fanotify_init)
380 CALL(sys_fanotify_mark)
381 CALL(sys_prlimit64)
Russell King0d58a282011-04-15 13:26:40 +0100382/* 370 */ CALL(sys_name_to_handle_at)
383 CALL(sys_open_by_handle_at)
384 CALL(sys_clock_adjtime)
385 CALL(sys_syncfs)
Russell Kinga85fab12011-05-26 12:12:13 +0100386 CALL(sys_sendmmsg)
Linus Torvalds571503e2011-05-28 10:51:01 -0700387/* 375 */ CALL(sys_setns)
Russell Kinge5489842011-11-17 16:58:00 +0000388 CALL(sys_process_vm_readv)
389 CALL(sys_process_vm_writev)
Cyrill Gorcunov3f7d1fe2013-02-28 21:53:35 +0100390 CALL(sys_kcmp)
Kees Cook4926f652012-10-16 12:38:47 +1030391 CALL(sys_finit_module)
Dario Faggiolid50dde52013-11-07 14:43:36 +0100392/* 380 */ CALL(sys_sched_setattr)
393 CALL(sys_sched_getattr)
Miklos Szeredi556d3f72014-04-11 12:25:39 +0200394 CALL(sys_renameat2)
Kees Cook83966972014-06-10 15:40:23 -0700395 CALL(sys_seccomp)
Russell Kingeb645252014-08-08 10:56:34 +0100396 CALL(sys_getrandom)
Russell Kinge57e4192014-08-09 08:43:11 +0100397/* 385 */ CALL(sys_memfd_create)
Russell King2d605a32014-10-28 15:27:07 +0000398 CALL(sys_bpf)
Russell King841ee232014-12-18 19:43:36 +0000399 CALL(sys_execveat)
Russell King208473c2015-09-17 14:13:44 +0100400 CALL(sys_userfaultfd)
401 CALL(sys_membarrier)
Russell Kingf2335a22016-04-04 14:46:48 +0100402/* 390 */ CALL(sys_mlock2)
Russell King03590cb2016-01-27 18:14:13 +0000403 CALL(sys_copy_file_range)
Russell Kingf2335a22016-04-04 14:46:48 +0100404 CALL(sys_preadv2)
405 CALL(sys_pwritev2)
Russell King6127d122016-10-18 21:46:18 +0100406 CALL(sys_pkey_mprotect)
407/* 395 */ CALL(sys_pkey_alloc)
408 CALL(sys_pkey_free)
Arnd Bergmannbb640132019-02-28 13:59:19 +0100409 CALL(sys_pidfd_send_signal)
Suren Baghdasaryanc5be65a2019-08-23 11:11:00 -0700410 CALL(sys_pidfd_open)
Al Virofa1b4f92006-01-19 12:57:01 +0000411#ifndef syscalls_counted
412.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
413#define syscalls_counted
Linus Torvalds1da177e2005-04-16 15:20:36 -0700414#endif
Al Virofa1b4f92006-01-19 12:57:01 +0000415.rept syscalls_padding
416 CALL(sys_ni_syscall)
417.endr