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