arm/arm64: KVM: Turn off vcpus on PSCI shutdown/reboot
[linux/fpc-iii.git] / arch / arm / kernel / calls.S
blob9f899d8fdccabb4751bddf48da8f522a17905c75
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 #ifndef syscalls_counted
399 .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
400 #define syscalls_counted
401 #endif
402 .rept syscalls_padding
403                 CALL(sys_ni_syscall)
404 .endr