David S. Miller | bc5a2e6 | 2007-07-18 14:28:59 -0700 | [diff] [blame] | 1 | /* systbls.S: System call entry point tables for OS compatibility. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 | * The native Linux system call table lives here also. |
| 3 | * |
David S. Miller | bc5a2e6 | 2007-07-18 14:28:59 -0700 | [diff] [blame] | 4 | * Copyright (C) 1995, 2007 David S. Miller (davem@davemloft.net) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 5 | * |
| 6 | * Based upon preliminary work which is: |
| 7 | * |
| 8 | * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu) |
| 9 | */ |
| 10 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 11 | |
| 12 | .data |
| 13 | .align 4 |
| 14 | |
| 15 | /* First, the Linux native syscall table. */ |
| 16 | |
| 17 | .globl sys_call_table |
| 18 | sys_call_table: |
| 19 | /*0*/ .long sys_restart_syscall, sys_exit, sys_fork, sys_read, sys_write |
| 20 | /*5*/ .long sys_open, sys_close, sys_wait4, sys_creat, sys_link |
| 21 | /*10*/ .long sys_unlink, sunos_execv, sys_chdir, sys_chown16, sys_mknod |
| 22 | /*15*/ .long sys_chmod, sys_lchown16, sparc_brk, sys_nis_syscall, sys_lseek |
| 23 | /*20*/ .long sys_getpid, sys_capget, sys_capset, sys_setuid16, sys_getuid16 |
David S. Miller | 8c45112 | 2006-05-03 13:55:46 -0700 | [diff] [blame] | 24 | /*25*/ .long sys_vmsplice, sys_ptrace, sys_alarm, sys_sigaltstack, sys_pause |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 | /*30*/ .long sys_utime, sys_lchown, sys_fchown, sys_access, sys_nice |
| 26 | /*35*/ .long sys_chown, sys_sync, sys_kill, sys_newstat, sys_sendfile |
| 27 | /*40*/ .long sys_newlstat, sys_dup, sys_pipe, sys_times, sys_getuid |
| 28 | /*45*/ .long sys_umount, sys_setgid16, sys_getgid16, sys_signal, sys_geteuid16 |
| 29 | /*50*/ .long sys_getegid16, sys_acct, sys_nis_syscall, sys_getgid, sys_ioctl |
| 30 | /*55*/ .long sys_reboot, sys_mmap2, sys_symlink, sys_readlink, sys_execve |
| 31 | /*60*/ .long sys_umask, sys_chroot, sys_newfstat, sys_fstat64, sys_getpagesize |
| 32 | /*65*/ .long sys_msync, sys_vfork, sys_pread64, sys_pwrite64, sys_geteuid |
| 33 | /*70*/ .long sys_getegid, sys_mmap, sys_setreuid, sys_munmap, sys_mprotect |
| 34 | /*75*/ .long sys_madvise, sys_vhangup, sys_truncate64, sys_mincore, sys_getgroups16 |
| 35 | /*80*/ .long sys_setgroups16, sys_getpgrp, sys_setgroups, sys_setitimer, sys_ftruncate64 |
| 36 | /*85*/ .long sys_swapon, sys_getitimer, sys_setuid, sys_sethostname, sys_setgid |
| 37 | /*90*/ .long sys_dup2, sys_setfsuid, sys_fcntl, sys_select, sys_setfsgid |
| 38 | /*95*/ .long sys_fsync, sys_setpriority, sys_nis_syscall, sys_nis_syscall, sys_nis_syscall |
| 39 | /*100*/ .long sys_getpriority, sys_rt_sigreturn, sys_rt_sigaction, sys_rt_sigprocmask, sys_rt_sigpending |
| 40 | /*105*/ .long sys_rt_sigtimedwait, sys_rt_sigqueueinfo, sys_rt_sigsuspend, sys_setresuid, sys_getresuid |
| 41 | /*110*/ .long sys_setresgid, sys_getresgid, sys_setregid, sys_nis_syscall, sys_nis_syscall |
| 42 | /*115*/ .long sys_getgroups, sys_gettimeofday, sys_getrusage, sys_nis_syscall, sys_getcwd |
| 43 | /*120*/ .long sys_readv, sys_writev, sys_settimeofday, sys_fchown16, sys_fchmod |
| 44 | /*125*/ .long sys_nis_syscall, sys_setreuid16, sys_setregid16, sys_rename, sys_truncate |
| 45 | /*130*/ .long sys_ftruncate, sys_flock, sys_lstat64, sys_nis_syscall, sys_nis_syscall |
| 46 | /*135*/ .long sys_nis_syscall, sys_mkdir, sys_rmdir, sys_utimes, sys_stat64 |
| 47 | /*140*/ .long sys_sendfile64, sys_nis_syscall, sys_futex, sys_gettid, sys_getrlimit |
| 48 | /*145*/ .long sys_setrlimit, sys_pivot_root, sys_prctl, sys_pciconfig_read, sys_pciconfig_write |
David S. Miller | 40a085c | 2005-07-27 14:14:39 -0700 | [diff] [blame] | 49 | /*150*/ .long sys_nis_syscall, sys_inotify_init, sys_inotify_add_watch, sys_poll, sys_getdents64 |
| 50 | /*155*/ .long sys_fcntl64, sys_inotify_rm_watch, sys_statfs, sys_fstatfs, sys_oldumount |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 51 | /*160*/ .long sys_sched_setaffinity, sys_sched_getaffinity, sys_getdomainname, sys_setdomainname, sys_nis_syscall |
| 52 | /*165*/ .long sys_quotactl, sys_set_tid_address, sys_mount, sys_ustat, sys_setxattr |
| 53 | /*170*/ .long sys_lsetxattr, sys_fsetxattr, sys_getxattr, sys_lgetxattr, sys_getdents |
| 54 | /*175*/ .long sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr |
| 55 | /*180*/ .long sys_flistxattr, sys_removexattr, sys_lremovexattr, sys_sigpending, sys_ni_syscall |
| 56 | /*185*/ .long sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sys_newuname |
| 57 | /*190*/ .long sys_init_module, sys_personality, sparc_remap_file_pages, sys_epoll_create, sys_epoll_ctl |
David S. Miller | 9126dfd | 2005-07-10 15:11:45 -0700 | [diff] [blame] | 58 | /*195*/ .long sys_epoll_wait, sys_ioprio_set, sys_getppid, sparc_sigaction, sys_sgetmask |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 59 | /*200*/ .long sys_ssetmask, sys_sigsuspend, sys_newlstat, sys_uselib, old_readdir |
| 60 | /*205*/ .long sys_readahead, sys_socketcall, sys_syslog, sys_lookup_dcookie, sys_fadvise64 |
| 61 | /*210*/ .long sys_fadvise64_64, sys_tgkill, sys_waitpid, sys_swapoff, sys_sysinfo |
David S. Miller | 9126dfd | 2005-07-10 15:11:45 -0700 | [diff] [blame] | 62 | /*215*/ .long sys_ipc, sys_sigreturn, sys_clone, sys_ioprio_get, sys_adjtimex |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 63 | /*220*/ .long sys_sigprocmask, sys_ni_syscall, sys_delete_module, sys_ni_syscall, sys_getpgid |
| 64 | /*225*/ .long sys_bdflush, sys_sysfs, sys_nis_syscall, sys_setfsuid16, sys_setfsgid16 |
David S. Miller | 1339713 | 2006-03-31 02:04:15 -0800 | [diff] [blame] | 65 | /*230*/ .long sys_select, sys_time, sys_splice, sys_stime, sys_statfs64 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 66 | /* "We are the Knights of the Forest of Ni!!" */ |
| 67 | /*235*/ .long sys_fstatfs64, sys_llseek, sys_mlock, sys_munlock, sys_mlockall |
| 68 | /*240*/ .long sys_munlockall, sys_sched_setparam, sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler |
| 69 | /*245*/ .long sys_sched_yield, sys_sched_get_priority_max, sys_sched_get_priority_min, sys_sched_rr_get_interval, sys_nanosleep |
| 70 | /*250*/ .long sparc_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl |
David S. Miller | 289eee6 | 2006-03-31 23:49:34 -0800 | [diff] [blame] | 71 | /*255*/ .long sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 72 | /*260*/ .long sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun |
| 73 | /*265*/ .long sys_timer_delete, sys_timer_create, sys_nis_syscall, sys_io_setup, sys_io_destroy |
| 74 | /*270*/ .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink |
| 75 | /*275*/ .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid |
David S. Miller | 5fdef39 | 2006-04-14 15:29:32 -0700 | [diff] [blame] | 76 | /*280*/ .long sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat |
David S. Miller | 40ad7a6 | 2006-02-12 23:30:11 -0800 | [diff] [blame] | 77 | /*285*/ .long sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_fstatat64 |
David S. Miller | 2d7d5f0 | 2006-01-19 02:42:49 -0800 | [diff] [blame] | 78 | /*290*/ .long sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat |
David S. Miller | 1b9a428 | 2006-02-07 18:11:24 -0800 | [diff] [blame] | 79 | /*295*/ .long sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare |
David S. Miller | 50d266a | 2007-03-12 19:58:18 -0700 | [diff] [blame] | 80 | /*300*/ .long sys_set_robust_list, sys_get_robust_list, sys_migrate_pages, sys_mbind, sys_get_mempolicy |
| 81 | /*305*/ .long sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait |
David S. Miller | bc5a2e6 | 2007-07-18 14:28:59 -0700 | [diff] [blame] | 82 | /*310*/ .long sys_utimensat, sys_signalfd, sys_timerfd, sys_eventfd, sys_fallocate |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 83 | |
| 84 | #ifdef CONFIG_SUNOS_EMUL |
| 85 | /* Now the SunOS syscall table. */ |
| 86 | |
| 87 | .align 4 |
| 88 | .globl sunos_sys_table |
| 89 | sunos_sys_table: |
| 90 | /*0*/ .long sunos_indir, sys_exit, sys_fork |
| 91 | .long sunos_read, sunos_write, sys_open |
| 92 | .long sys_close, sunos_wait4, sys_creat |
| 93 | .long sys_link, sys_unlink, sunos_execv |
| 94 | .long sys_chdir, sunos_nosys, sys_mknod |
| 95 | .long sys_chmod, sys_lchown16, sunos_brk |
| 96 | .long sunos_nosys, sys_lseek, sunos_getpid |
| 97 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 98 | .long sunos_getuid, sunos_nosys, sys_ptrace |
| 99 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 100 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 101 | .long sys_access, sunos_nosys, sunos_nosys |
| 102 | .long sys_sync, sys_kill, sys_newstat |
| 103 | .long sunos_nosys, sys_newlstat, sys_dup |
| 104 | .long sys_pipe, sunos_nosys, sunos_nosys |
| 105 | .long sunos_nosys, sunos_nosys, sunos_getgid |
| 106 | .long sunos_nosys, sunos_nosys |
| 107 | /*50*/ .long sunos_nosys, sys_acct, sunos_nosys |
| 108 | .long sunos_mctl, sunos_ioctl, sys_reboot |
| 109 | .long sunos_nosys, sys_symlink, sys_readlink |
| 110 | .long sys_execve, sys_umask, sys_chroot |
| 111 | .long sys_newfstat, sunos_nosys, sys_getpagesize |
| 112 | .long sys_msync, sys_vfork, sunos_nosys |
| 113 | .long sunos_nosys, sunos_sbrk, sunos_sstk |
| 114 | .long sunos_mmap, sunos_vadvise, sys_munmap |
| 115 | .long sys_mprotect, sys_madvise, sys_vhangup |
| 116 | .long sunos_nosys, sys_mincore, sys_getgroups16 |
| 117 | .long sys_setgroups16, sys_getpgrp, sunos_setpgrp |
| 118 | .long sys_setitimer, sunos_nosys, sys_swapon |
| 119 | .long sys_getitimer, sys_gethostname, sys_sethostname |
| 120 | .long sunos_getdtablesize, sys_dup2, sunos_nop |
| 121 | .long sys_fcntl, sunos_select, sunos_nop |
| 122 | .long sys_fsync, sys_setpriority, sys_socket |
| 123 | .long sys_connect, sunos_accept |
| 124 | /*100*/ .long sys_getpriority, sunos_send, sunos_recv |
| 125 | .long sunos_nosys, sys_bind, sunos_setsockopt |
| 126 | .long sys_listen, sunos_nosys, sunos_sigaction |
| 127 | .long sunos_sigblock, sunos_sigsetmask, sys_sigpause |
| 128 | .long sys_sigstack, sys_recvmsg, sys_sendmsg |
| 129 | .long sunos_nosys, sys_gettimeofday, sys_getrusage |
| 130 | .long sunos_getsockopt, sunos_nosys, sunos_readv |
| 131 | .long sunos_writev, sys_settimeofday, sys_fchown16 |
| 132 | .long sys_fchmod, sys_recvfrom, sys_setreuid16 |
| 133 | .long sys_setregid16, sys_rename, sys_truncate |
| 134 | .long sys_ftruncate, sys_flock, sunos_nosys |
| 135 | .long sys_sendto, sys_shutdown, sys_socketpair |
| 136 | .long sys_mkdir, sys_rmdir, sys_utimes |
| 137 | .long sys_sigreturn, sunos_nosys, sys_getpeername |
| 138 | .long sunos_gethostid, sunos_nosys, sys_getrlimit |
| 139 | .long sys_setrlimit, sunos_killpg, sunos_nosys |
| 140 | .long sunos_nosys, sunos_nosys |
| 141 | /*150*/ .long sys_getsockname, sunos_nosys, sunos_nosys |
| 142 | .long sys_poll, sunos_nosys, sunos_nosys |
| 143 | .long sunos_getdirentries, sys_statfs, sys_fstatfs |
| 144 | .long sys_oldumount, sunos_nosys, sunos_nosys |
| 145 | .long sys_getdomainname, sys_setdomainname |
| 146 | .long sunos_nosys, sys_quotactl, sunos_nosys |
| 147 | .long sunos_mount, sys_ustat, sunos_semsys |
| 148 | .long sunos_msgsys, sunos_shmsys, sunos_audit |
| 149 | .long sunos_nosys, sunos_getdents, sys_setsid |
| 150 | .long sys_fchdir, sunos_nosys, sunos_nosys |
| 151 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 152 | .long sunos_nosys, sys_sigpending, sunos_nosys |
| 153 | .long sys_setpgid, sunos_pathconf, sunos_fpathconf |
| 154 | .long sunos_sysconf, sunos_uname, sunos_nosys |
| 155 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 156 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 157 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 158 | /*200*/ .long sunos_nosys, sunos_nosys, sunos_nosys |
| 159 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 160 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 161 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 162 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 163 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 164 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 165 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 166 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 167 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 168 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 169 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 170 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 171 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 172 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 173 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 174 | .long sunos_nosys, sunos_nosys |
| 175 | /*250*/ .long sunos_nosys, sunos_nosys, sunos_nosys |
| 176 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 177 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 178 | .long sunos_nosys |
| 179 | /*260*/ .long sunos_nosys, sunos_nosys, sunos_nosys |
| 180 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 181 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 182 | .long sunos_nosys |
| 183 | /*270*/ .long sunos_nosys, sunos_nosys, sunos_nosys |
| 184 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 185 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 186 | .long sunos_nosys |
| 187 | /*280*/ .long sunos_nosys, sunos_nosys, sunos_nosys |
David S. Miller | 2d7d5f0 | 2006-01-19 02:42:49 -0800 | [diff] [blame] | 188 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 189 | .long sunos_nosys, sunos_nosys, sunos_nosys |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 190 | .long sunos_nosys |
David S. Miller | 2d7d5f0 | 2006-01-19 02:42:49 -0800 | [diff] [blame] | 191 | /*290*/ .long sunos_nosys, sunos_nosys, sunos_nosys |
| 192 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 193 | .long sunos_nosys, sunos_nosys, sunos_nosys |
David S. Miller | 59359ff | 2006-11-05 16:51:03 -0800 | [diff] [blame] | 194 | .long sunos_nosys |
| 195 | /*300*/ .long sunos_nosys, sunos_nosys, sunos_nosys |
David S. Miller | 50d266a | 2007-03-12 19:58:18 -0700 | [diff] [blame] | 196 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 197 | .long sunos_nosys, sunos_nosys, sunos_nosys |
| 198 | .long sunos_nosys |
David S. Miller | 8354c5b | 2007-05-11 22:06:51 -0700 | [diff] [blame] | 199 | /*310*/ .long sunos_nosys, sunos_nosys, sunos_nosys |
David S. Miller | bc5a2e6 | 2007-07-18 14:28:59 -0700 | [diff] [blame] | 200 | .long sunos_nosys, sunos_nosys |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 201 | |
| 202 | #endif |