systbls.S 11 KB

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