calls.S 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395
  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_wrapper)
  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_wrapper)
  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_wrapper)
  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_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_wrapper)
  199. CALL(sys_sendfile)
  200. CALL(sys_ni_syscall) /* getpmsg */
  201. CALL(sys_ni_syscall) /* putpmsg */
  202. /* 190 */ CALL(sys_vfork_wrapper)
  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. #ifndef syscalls_counted
  389. .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
  390. #define syscalls_counted
  391. #endif
  392. .rept syscalls_padding
  393. CALL(sys_ni_syscall)
  394. .endr