syscalls_64.S 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423
  1. /*
  2. * arch/sh/kernel/syscalls_64.S
  3. *
  4. * Copyright (C) 2000, 2001 Paolo Alberelli
  5. * Copyright (C) 2004 - 2007 Paul Mundt
  6. * Copyright (C) 2003, 2004 Richard Curnow
  7. *
  8. * This file is subject to the terms and conditions of the GNU General Public
  9. * License. See the file "COPYING" in the main directory of this archive
  10. * for more details.
  11. */
  12. #include <linux/sys.h>
  13. .section .data, "aw"
  14. .balign 32
  15. /*
  16. * System calls jump table
  17. */
  18. .globl sys_call_table
  19. sys_call_table:
  20. .long sys_restart_syscall /* 0 - old "setup()" system call */
  21. .long sys_exit
  22. .long sys_fork
  23. .long sys_read
  24. .long sys_write
  25. .long sys_open /* 5 */
  26. .long sys_close
  27. .long sys_waitpid
  28. .long sys_creat
  29. .long sys_link
  30. .long sys_unlink /* 10 */
  31. .long sys_execve
  32. .long sys_chdir
  33. .long sys_time
  34. .long sys_mknod
  35. .long sys_chmod /* 15 */
  36. .long sys_lchown16
  37. .long sys_ni_syscall /* old break syscall holder */
  38. .long sys_stat
  39. .long sys_lseek
  40. .long sys_getpid /* 20 */
  41. .long sys_mount
  42. .long sys_oldumount
  43. .long sys_setuid16
  44. .long sys_getuid16
  45. .long sys_stime /* 25 */
  46. .long sh64_ptrace
  47. .long sys_alarm
  48. .long sys_fstat
  49. .long sys_pause
  50. .long sys_utime /* 30 */
  51. .long sys_ni_syscall /* old stty syscall holder */
  52. .long sys_ni_syscall /* old gtty syscall holder */
  53. .long sys_access
  54. .long sys_nice
  55. .long sys_ni_syscall /* 35 */ /* old ftime syscall holder */
  56. .long sys_sync
  57. .long sys_kill
  58. .long sys_rename
  59. .long sys_mkdir
  60. .long sys_rmdir /* 40 */
  61. .long sys_dup
  62. .long sys_pipe
  63. .long sys_times
  64. .long sys_ni_syscall /* old prof syscall holder */
  65. .long sys_brk /* 45 */
  66. .long sys_setgid16
  67. .long sys_getgid16
  68. .long sys_signal
  69. .long sys_geteuid16
  70. .long sys_getegid16 /* 50 */
  71. .long sys_acct
  72. .long sys_umount /* recycled never used phys( */
  73. .long sys_ni_syscall /* old lock syscall holder */
  74. .long sys_ioctl
  75. .long sys_fcntl /* 55 */
  76. .long sys_ni_syscall /* old mpx syscall holder */
  77. .long sys_setpgid
  78. .long sys_ni_syscall /* old ulimit syscall holder */
  79. .long sys_ni_syscall /* sys_olduname */
  80. .long sys_umask /* 60 */
  81. .long sys_chroot
  82. .long sys_ustat
  83. .long sys_dup2
  84. .long sys_getppid
  85. .long sys_getpgrp /* 65 */
  86. .long sys_setsid
  87. .long sys_sigaction
  88. .long sys_sgetmask
  89. .long sys_ssetmask
  90. .long sys_setreuid16 /* 70 */
  91. .long sys_setregid16
  92. .long sys_sigsuspend
  93. .long sys_sigpending
  94. .long sys_sethostname
  95. .long sys_setrlimit /* 75 */
  96. .long sys_old_getrlimit
  97. .long sys_getrusage
  98. .long sys_gettimeofday
  99. .long sys_settimeofday
  100. .long sys_getgroups16 /* 80 */
  101. .long sys_setgroups16
  102. .long sys_ni_syscall /* sys_oldselect */
  103. .long sys_symlink
  104. .long sys_lstat
  105. .long sys_readlink /* 85 */
  106. .long sys_uselib
  107. .long sys_swapon
  108. .long sys_reboot
  109. .long sys_old_readdir
  110. .long old_mmap /* 90 */
  111. .long sys_munmap
  112. .long sys_truncate
  113. .long sys_ftruncate
  114. .long sys_fchmod
  115. .long sys_fchown16 /* 95 */
  116. .long sys_getpriority
  117. .long sys_setpriority
  118. .long sys_ni_syscall /* old profil syscall holder */
  119. .long sys_statfs
  120. .long sys_fstatfs /* 100 */
  121. .long sys_ni_syscall /* ioperm */
  122. .long sys_socketcall /* Obsolete implementation of socket syscall */
  123. .long sys_syslog
  124. .long sys_setitimer
  125. .long sys_getitimer /* 105 */
  126. .long sys_newstat
  127. .long sys_newlstat
  128. .long sys_newfstat
  129. .long sys_uname
  130. .long sys_ni_syscall /* 110 */ /* iopl */
  131. .long sys_vhangup
  132. .long sys_ni_syscall /* idle */
  133. .long sys_ni_syscall /* vm86old */
  134. .long sys_wait4
  135. .long sys_swapoff /* 115 */
  136. .long sys_sysinfo
  137. .long sys_ipc /* Obsolete ipc syscall implementation */
  138. .long sys_fsync
  139. .long sys_sigreturn
  140. .long sys_clone /* 120 */
  141. .long sys_setdomainname
  142. .long sys_newuname
  143. .long sys_cacheflush /* x86: sys_modify_ldt */
  144. .long sys_adjtimex
  145. .long sys_mprotect /* 125 */
  146. .long sys_sigprocmask
  147. .long sys_ni_syscall /* old "create_module" */
  148. .long sys_init_module
  149. .long sys_delete_module
  150. .long sys_ni_syscall /* 130: old "get_kernel_syms" */
  151. .long sys_quotactl
  152. .long sys_getpgid
  153. .long sys_fchdir
  154. .long sys_bdflush
  155. .long sys_sysfs /* 135 */
  156. .long sys_personality
  157. .long sys_ni_syscall /* for afs_syscall */
  158. .long sys_setfsuid16
  159. .long sys_setfsgid16
  160. .long sys_llseek /* 140 */
  161. .long sys_getdents
  162. .long sys_select
  163. .long sys_flock
  164. .long sys_msync
  165. .long sys_readv /* 145 */
  166. .long sys_writev
  167. .long sys_getsid
  168. .long sys_fdatasync
  169. .long sys_sysctl
  170. .long sys_mlock /* 150 */
  171. .long sys_munlock
  172. .long sys_mlockall
  173. .long sys_munlockall
  174. .long sys_sched_setparam
  175. .long sys_sched_getparam /* 155 */
  176. .long sys_sched_setscheduler
  177. .long sys_sched_getscheduler
  178. .long sys_sched_yield
  179. .long sys_sched_get_priority_max
  180. .long sys_sched_get_priority_min /* 160 */
  181. .long sys_sched_rr_get_interval
  182. .long sys_nanosleep
  183. .long sys_mremap
  184. .long sys_setresuid16
  185. .long sys_getresuid16 /* 165 */
  186. .long sys_ni_syscall /* vm86 */
  187. .long sys_ni_syscall /* old "query_module" */
  188. .long sys_poll
  189. .long sys_ni_syscall /* was nfsservctl */
  190. .long sys_setresgid16 /* 170 */
  191. .long sys_getresgid16
  192. .long sys_prctl
  193. .long sys_rt_sigreturn
  194. .long sys_rt_sigaction
  195. .long sys_rt_sigprocmask /* 175 */
  196. .long sys_rt_sigpending
  197. .long sys_rt_sigtimedwait
  198. .long sys_rt_sigqueueinfo
  199. .long sys_rt_sigsuspend
  200. .long sys_pread64 /* 180 */
  201. .long sys_pwrite64
  202. .long sys_chown16
  203. .long sys_getcwd
  204. .long sys_capget
  205. .long sys_capset /* 185 */
  206. .long sys_sigaltstack
  207. .long sys_sendfile
  208. .long sys_ni_syscall /* getpmsg */
  209. .long sys_ni_syscall /* putpmsg */
  210. .long sys_vfork /* 190 */
  211. .long sys_getrlimit
  212. .long sys_mmap2
  213. .long sys_truncate64
  214. .long sys_ftruncate64
  215. .long sys_stat64 /* 195 */
  216. .long sys_lstat64
  217. .long sys_fstat64
  218. .long sys_lchown
  219. .long sys_getuid
  220. .long sys_getgid /* 200 */
  221. .long sys_geteuid
  222. .long sys_getegid
  223. .long sys_setreuid
  224. .long sys_setregid
  225. .long sys_getgroups /* 205 */
  226. .long sys_setgroups
  227. .long sys_fchown
  228. .long sys_setresuid
  229. .long sys_getresuid
  230. .long sys_setresgid /* 210 */
  231. .long sys_getresgid
  232. .long sys_chown
  233. .long sys_setuid
  234. .long sys_setgid
  235. .long sys_setfsuid /* 215 */
  236. .long sys_setfsgid
  237. .long sys_pivot_root
  238. .long sys_mincore
  239. .long sys_madvise
  240. /* Broken-out socket family (maintain backwards compatibility in syscall
  241. numbering with 2.4) */
  242. .long sys_socket /* 220 */
  243. .long sys_bind
  244. .long sys_connect
  245. .long sys_listen
  246. .long sys_accept
  247. .long sys_getsockname /* 225 */
  248. .long sys_getpeername
  249. .long sys_socketpair
  250. .long sys_send
  251. .long sys_sendto
  252. .long sys_recv /* 230*/
  253. .long sys_recvfrom
  254. .long sys_shutdown
  255. .long sys_setsockopt
  256. .long sys_getsockopt
  257. .long sys_sendmsg /* 235 */
  258. .long sys_recvmsg
  259. /* Broken-out IPC family (maintain backwards compatibility in syscall
  260. numbering with 2.4) */
  261. .long sys_semop
  262. .long sys_semget
  263. .long sys_semctl
  264. .long sys_msgsnd /* 240 */
  265. .long sys_msgrcv
  266. .long sys_msgget
  267. .long sys_msgctl
  268. .long sys_shmat
  269. .long sys_shmdt /* 245 */
  270. .long sys_shmget
  271. .long sys_shmctl
  272. /* Rest of syscalls listed in 2.4 i386 unistd.h */
  273. .long sys_getdents64
  274. .long sys_fcntl64
  275. .long sys_ni_syscall /* 250 reserved for TUX */
  276. .long sys_ni_syscall /* Reserved for Security */
  277. .long sys_gettid
  278. .long sys_readahead
  279. .long sys_setxattr
  280. .long sys_lsetxattr /* 255 */
  281. .long sys_fsetxattr
  282. .long sys_getxattr
  283. .long sys_lgetxattr
  284. .long sys_fgetxattr
  285. .long sys_listxattr /* 260 */
  286. .long sys_llistxattr
  287. .long sys_flistxattr
  288. .long sys_removexattr
  289. .long sys_lremovexattr
  290. .long sys_fremovexattr /* 265 */
  291. .long sys_tkill
  292. .long sys_sendfile64
  293. .long sys_futex
  294. .long sys_sched_setaffinity
  295. .long sys_sched_getaffinity /* 270 */
  296. .long sys_ni_syscall /* reserved for set_thread_area */
  297. .long sys_ni_syscall /* reserved for get_thread_area */
  298. .long sys_io_setup
  299. .long sys_io_destroy
  300. .long sys_io_getevents /* 275 */
  301. .long sys_io_submit
  302. .long sys_io_cancel
  303. .long sys_fadvise64
  304. .long sys_ni_syscall
  305. .long sys_exit_group /* 280 */
  306. /* Rest of new 2.6 syscalls */
  307. .long sys_lookup_dcookie
  308. .long sys_epoll_create
  309. .long sys_epoll_ctl
  310. .long sys_epoll_wait
  311. .long sys_remap_file_pages /* 285 */
  312. .long sys_set_tid_address
  313. .long sys_timer_create
  314. .long sys_timer_settime
  315. .long sys_timer_gettime
  316. .long sys_timer_getoverrun /* 290 */
  317. .long sys_timer_delete
  318. .long sys_clock_settime
  319. .long sys_clock_gettime
  320. .long sys_clock_getres
  321. .long sys_clock_nanosleep /* 295 */
  322. .long sys_statfs64
  323. .long sys_fstatfs64
  324. .long sys_tgkill
  325. .long sys_utimes
  326. .long sys_fadvise64_64 /* 300 */
  327. .long sys_ni_syscall /* Reserved for vserver */
  328. .long sys_ni_syscall /* Reserved for mbind */
  329. .long sys_ni_syscall /* get_mempolicy */
  330. .long sys_ni_syscall /* set_mempolicy */
  331. .long sys_mq_open /* 305 */
  332. .long sys_mq_unlink
  333. .long sys_mq_timedsend
  334. .long sys_mq_timedreceive
  335. .long sys_mq_notify
  336. .long sys_mq_getsetattr /* 310 */
  337. .long sys_ni_syscall /* Reserved for kexec */
  338. .long sys_waitid
  339. .long sys_add_key
  340. .long sys_request_key
  341. .long sys_keyctl /* 315 */
  342. .long sys_ioprio_set
  343. .long sys_ioprio_get
  344. .long sys_inotify_init
  345. .long sys_inotify_add_watch
  346. .long sys_inotify_rm_watch /* 320 */
  347. .long sys_ni_syscall
  348. .long sys_migrate_pages
  349. .long sys_openat
  350. .long sys_mkdirat
  351. .long sys_mknodat /* 325 */
  352. .long sys_fchownat
  353. .long sys_futimesat
  354. .long sys_fstatat64
  355. .long sys_unlinkat
  356. .long sys_renameat /* 330 */
  357. .long sys_linkat
  358. .long sys_symlinkat
  359. .long sys_readlinkat
  360. .long sys_fchmodat
  361. .long sys_faccessat /* 335 */
  362. .long sys_pselect6
  363. .long sys_ppoll
  364. .long sys_unshare
  365. .long sys_set_robust_list
  366. .long sys_get_robust_list /* 340 */
  367. .long sys_splice
  368. .long sys_sync_file_range
  369. .long sys_tee
  370. .long sys_vmsplice
  371. .long sys_move_pages /* 345 */
  372. .long sys_getcpu
  373. .long sys_epoll_pwait
  374. .long sys_utimensat
  375. .long sys_signalfd
  376. .long sys_timerfd_create /* 350 */
  377. .long sys_eventfd
  378. .long sys_fallocate
  379. .long sys_timerfd_settime
  380. .long sys_timerfd_gettime
  381. .long sys_signalfd4 /* 355 */
  382. .long sys_eventfd2
  383. .long sys_epoll_create1
  384. .long sys_dup3
  385. .long sys_pipe2
  386. .long sys_inotify_init1 /* 360 */
  387. .long sys_preadv
  388. .long sys_pwritev
  389. .long sys_rt_tgsigqueueinfo
  390. .long sys_perf_event_open
  391. .long sys_recvmmsg /* 365 */
  392. .long sys_accept4
  393. .long sys_fanotify_init
  394. .long sys_fanotify_mark
  395. .long sys_prlimit64
  396. .long sys_name_to_handle_at /* 370 */
  397. .long sys_open_by_handle_at
  398. .long sys_clock_adjtime
  399. .long sys_syncfs
  400. .long sys_sendmmsg
  401. .long sys_setns /* 375 */
  402. .long sys_process_vm_readv
  403. .long sys_process_vm_writev
  404. .long sys_kcmp
  405. .long sys_finit_module
  406. .long sys_sched_getattr /* 380 */
  407. .long sys_sched_setattr
  408. .long sys_renameat2
  409. .long sys_seccomp
  410. .long sys_getrandom
  411. .long sys_memfd_create /* 385 */
  412. .long sys_bpf
  413. .long sys_execveat
  414. .long sys_userfaultfd
  415. .long sys_membarrier
  416. .long sys_mlock2 /* 390 */
  417. .long sys_copy_file_range
  418. .long sys_preadv2
  419. .long sys_pwritev2