1/* $Id: systbls.S,v 1.79 2001/10/18 08:27:05 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, 1996 David S. Miller (davem@caip.rutgers.edu)
6 * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
7 *
8 * Based upon preliminary work which is:
9 *
10 * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
11 */
12
13#include <linux/config.h>
14
15	.text
16	.align	1024
17
18	/* First, the 32-bit Linux native syscall table. */
19
20	.globl sys_call_table32
21sys_call_table32:
22/*0*/	.word sys_nis_syscall, sparc_exit, sys_fork, sys_read, sys_write
23/*5*/	.word sparc32_open, sys_close, sys32_wait4, sys_creat, sys_link
24/*10*/  .word sys_unlink, sunos_execv, sys_chdir, sys32_chown16, sys32_mknod
25/*15*/	.word sys32_chmod, sys32_lchown16, sparc_brk, sys_perfctr, sys32_lseek
26/*20*/	.word sys_getpid, sys_capget, sys_capset, sys32_setuid16, sys32_getuid16
27/*25*/	.word sys_time, sys_ptrace, sys_alarm, sys32_sigaltstack, sys32_pause
28/*30*/	.word sys32_utime, sys_lchown, sys_fchown, sys_access, sys_nice
29	.word sys_chown, sys_sync, sys_kill, sys32_newstat, sys32_sendfile
30/*40*/	.word sys32_newlstat, sys_dup, sys_pipe, sys32_times, sys_getuid
31	.word sys_umount, sys32_setgid16, sys32_getgid16, sys_signal, sys32_geteuid16
32/*50*/	.word sys32_getegid16, sys_acct, sys_nis_syscall, sys_getgid, sys32_ioctl
33	.word sys_reboot, sys32_mmap2, sys_symlink, sys_readlink, sys32_execve
34/*60*/	.word sys_umask, sys_chroot, sys32_newfstat, sys_fstat64, sys_getpagesize
35	.word sys_msync, sys_vfork, sys32_pread, sys32_pwrite, sys_geteuid
36/*70*/	.word sys_getegid, sys32_mmap, sys_setreuid, sys_munmap, sys_mprotect
37	.word sys_madvise, sys_vhangup, sys32_truncate64, sys_mincore, sys32_getgroups16
38/*80*/	.word sys32_setgroups16, sys_getpgrp, sys_setgroups, sys32_setitimer, sys32_ftruncate64
39	.word sys_swapon, sys32_getitimer, sys_setuid, sys_sethostname, sys_setgid
40/*90*/	.word sys_dup2, sys_setfsuid, sys32_fcntl, sys32_select, sys_setfsgid
41	.word sys_fsync, sys_setpriority32, sys_nis_syscall, sys_nis_syscall, sys_nis_syscall
42/*100*/ .word sys_getpriority, sys32_rt_sigreturn, sys32_rt_sigaction, sys32_rt_sigprocmask, sys32_rt_sigpending
43	.word sys32_rt_sigtimedwait, sys32_rt_sigqueueinfo, sys32_rt_sigsuspend, sys_setresuid, sys_getresuid
44/*110*/	.word sys_setresgid, sys_getresgid, sys_setregid, sys_nis_syscall, sys_nis_syscall
45	.word sys_getgroups, sys32_gettimeofday, sys32_getrusage, sys_nis_syscall, sys_getcwd
46/*120*/	.word sys32_readv, sys32_writev, sys32_settimeofday, sys32_fchown16, sys_fchmod
47	.word sys_nis_syscall, sys32_setreuid16, sys32_setregid16, sys_rename, sys_truncate
48/*130*/	.word sys_ftruncate, sys_flock, sys_lstat64, sys_nis_syscall, sys_nis_syscall
49	.word sys_nis_syscall, sys_mkdir, sys_rmdir, sys32_utimes, sys_stat64
50/*140*/	.word sys_nis_syscall, sys_nis_syscall, sys_nis_syscall, sys_gettid, sys32_getrlimit
51	.word sys32_setrlimit, sys_pivot_root, sys32_prctl, sys32_pciconfig_read, sys32_pciconfig_write
52/*150*/	.word sys_nis_syscall, sys_nis_syscall, sys_nis_syscall, sys_poll, sys_getdents64
53	.word sys32_fcntl64, sys_nis_syscall, sys32_statfs, sys32_fstatfs, sys_oldumount
54/*160*/	.word sys_nis_syscall, sys_nis_syscall, sys_getdomainname, sys_setdomainname, sys_nis_syscall
55	.word sys32_quotactl, sys_nis_syscall, sys32_mount, sys_ustat, sys_setxattr
56/*170*/	.word sys_lsetxattr, sys_fsetxattr, sys_getxattr, sys_lgetxattr, sys32_getdents
57	.word sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr
58/*180*/	.word sys_flistxattr, sys_removexattr, sys_lremovexattr, sys32_sigpending, sys32_query_module
59	.word sys_setpgid, sys_fremovexattr, sys_tkill, sys_nis_syscall, sparc64_newuname
60/*190*/	.word sys32_init_module, sparc64_personality, sys_nis_syscall, sys_nis_syscall, sys_nis_syscall
61	.word sys_nis_syscall, sys_nis_syscall, sys_getppid, sys32_sigaction, sys_sgetmask
62/*200*/	.word sys_ssetmask, sys_sigsuspend, sys32_newlstat, sys_uselib, old32_readdir
63	.word sys32_readahead, sys32_socketcall, sys_syslog, sys_nis_syscall, sys_nis_syscall
64/*210*/	.word sys_nis_syscall, sys_nis_syscall, sys_waitpid, sys_swapoff, sys32_sysinfo
65	.word sys32_ipc, sys32_sigreturn, sys_clone, sys_nis_syscall, sys32_adjtimex
66/*220*/	.word sys32_sigprocmask, sys32_create_module, sys32_delete_module, sys32_get_kernel_syms, sys_getpgid
67	.word sys32_bdflush, sys32_sysfs, sys_nis_syscall, sys32_setfsuid16, sys32_setfsgid16
68/*230*/	.word sys32_select, sys_time, sys_nis_syscall, sys_stime, sys_nis_syscall
69	.word sys_nis_syscall, sys_llseek, sys_mlock, sys_munlock, sys_mlockall
70/*240*/	.word sys_munlockall, sys_sched_setparam, sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler
71	.word sys_sched_yield, sys_sched_get_priority_max, sys_sched_get_priority_min, sys32_sched_rr_get_interval, sys32_nanosleep
72/*250*/	.word sys32_mremap, sys32_sysctl, sys_getsid, sys_fdatasync, sys32_nfsservctl
73	.word sys_aplib
74
75	/* Now the 64-bit native Linux syscall table. */
76
77	.align	1024
78	.globl sys_call_table64, sys_call_table
79sys_call_table64:
80sys_call_table:
81/*0*/	.word sys_nis_syscall, sparc_exit, sys_fork, sys_read, sys_write
82/*5*/	.word sys_open, sys_close, sys_wait4, sys_creat, sys_link
83/*10*/  .word sys_unlink, sunos_execv, sys_chdir, sys_chown, sys_mknod
84/*15*/	.word sys_chmod, sys_lchown, sparc_brk, sys_perfctr, sys_lseek
85/*20*/	.word sys_getpid, sys_capget, sys_capset, sys_setuid, sys_getuid
86/*25*/	.word sys_nis_syscall, sys_ptrace, sys_alarm, sys_sigaltstack, sys_nis_syscall
87/*30*/	.word sys_utime, sys_nis_syscall, sys_nis_syscall, sys_access, sys_nice
88	.word sys_nis_syscall, sys_sync, sys_kill, sys_newstat, sys_sendfile
89/*40*/	.word sys_newlstat, sys_dup, sys_pipe, sys_times, sys_nis_syscall
90	.word sys_umount, sys_setgid, sys_getgid, sys_signal, sys_geteuid
91/*50*/	.word sys_getegid, sys_acct, sys_memory_ordering, sys_nis_syscall, sys_ioctl
92	.word sys_reboot, sys_nis_syscall, sys_symlink, sys_readlink, sys_execve
93/*60*/	.word sys_umask, sys_chroot, sys_newfstat, sys_nis_syscall, sys_getpagesize
94	.word sys_msync, sys_vfork, sys_pread, sys_pwrite, sys_nis_syscall
95/*70*/	.word sys_nis_syscall, sys_mmap, sys_nis_syscall, sys64_munmap, sys_mprotect
96	.word sys_madvise, sys_vhangup, sys_nis_syscall, sys_mincore, sys_getgroups
97/*80*/	.word sys_setgroups, sys_getpgrp, sys_nis_syscall, sys_setitimer, sys_nis_syscall
98	.word sys_swapon, sys_getitimer, sys_nis_syscall, sys_sethostname, sys_nis_syscall
99/*90*/	.word sys_dup2, sys_nis_syscall, sys_fcntl, sys_select, sys_nis_syscall
100	.word sys_fsync, sys_setpriority, sys_socket, sys_connect, sys_accept
101/*100*/	.word sys_getpriority, sys_rt_sigreturn, sys_rt_sigaction, sys_rt_sigprocmask, sys_rt_sigpending
102	.word sys_rt_sigtimedwait, sys_rt_sigqueueinfo, sys_rt_sigsuspend, sys_setresuid, sys_getresuid
103/*110*/	.word sys_setresgid, sys_getresgid, sys_nis_syscall, sys_recvmsg, sys_sendmsg
104	.word sys_nis_syscall, sys_gettimeofday, sys_getrusage, sys_getsockopt, sys_getcwd
105/*120*/	.word sys_readv, sys_writev, sys_settimeofday, sys_fchown, sys_fchmod
106	.word sys_recvfrom, sys_setreuid, sys_setregid, sys_rename, sys_truncate
107/*130*/	.word sys_ftruncate, sys_flock, sys_nis_syscall, sys_sendto, sys_shutdown
108	.word sys_socketpair, sys_mkdir, sys_rmdir, sys_utimes, sys_nis_syscall
109/*140*/	.word sys_nis_syscall, sys_getpeername, sys_nis_syscall, sys_gettid, sys_getrlimit
110	.word sys_setrlimit, sys_pivot_root, sys_prctl, sys_pciconfig_read, sys_pciconfig_write
111/*150*/	.word sys_getsockname, sys_nis_syscall, sys_nis_syscall, sys_poll, sys_getdents64
112	.word sys_nis_syscall, sys_nis_syscall, sys_statfs, sys_fstatfs, sys_oldumount
113/*160*/	.word sys_nis_syscall, sys_nis_syscall, sys_getdomainname, sys_setdomainname, sys_utrap_install
114	.word sys_quotactl, sys_nis_syscall, sys_mount, sys_ustat, sys_setxattr
115/*170*/	.word sys_lsetxattr, sys_fsetxattr, sys_getxattr, sys_lgetxattr, sys_getdents
116	.word sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr
117/*180*/	.word sys_flistxattr, sys_removexattr, sys_lremovexattr, sys_nis_syscall, sys_query_module
118	.word sys_setpgid, sys_fremovexattr, sys_tkill, sys_nis_syscall, sparc64_newuname
119/*190*/	.word sys_init_module, sparc64_personality, sys_nis_syscall, sys_nis_syscall, sys_nis_syscall
120	.word sys_nis_syscall, sys_nis_syscall, sys_getppid, sys_nis_syscall, sys_sgetmask
121/*200*/	.word sys_ssetmask, sys_nis_syscall, sys_newlstat, sys_uselib, sys_nis_syscall
122	.word sys_readahead, sys_socketcall, sys_syslog, sys_nis_syscall, sys_nis_syscall
123/*210*/	.word sys_nis_syscall, sys_nis_syscall, sys_waitpid, sys_swapoff, sys_sysinfo
124	.word sys_ipc, sys_nis_syscall, sys_clone, sys_nis_syscall, sys_adjtimex
125/*220*/	.word sys_nis_syscall, sys_create_module, sys_delete_module, sys_get_kernel_syms, sys_getpgid
126	.word sys_bdflush, sys_sysfs, sys_nis_syscall, sys_setfsuid, sys_setfsgid
127/*230*/	.word sys_select, sys_nis_syscall, sys_nis_syscall, sys_stime, sys_nis_syscall
128	.word sys_nis_syscall, sys_llseek, sys_mlock, sys_munlock, sys_mlockall
129/*240*/	.word sys_munlockall, sys_sched_setparam, sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler
130	.word sys_sched_yield, sys_sched_get_priority_max, sys_sched_get_priority_min, sys_sched_rr_get_interval, sys_nanosleep
131/*250*/	.word sys64_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl
132	.word sys_aplib
133
134#if defined(CONFIG_SUNOS_EMUL) || defined(CONFIG_SOLARIS_EMUL) || \
135    defined(CONFIG_SOLARIS_EMUL_MODULE)
136	/* Now the 32-bit SunOS syscall table. */
137
138	.align 1024
139	.globl sunos_sys_table
140sunos_sys_table:
141/*0*/	.word sunos_indir, sparc_exit, sys_fork
142	.word sunos_read, sunos_write, sunos_open
143	.word sys_close, sunos_wait4, sys_creat
144	.word sys_link, sys_unlink, sunos_execv
145	.word sys_chdir, sunos_nosys, sys32_mknod
146	.word sys32_chmod, sys32_lchown16, sunos_brk
147	.word sunos_nosys, sys32_lseek, sunos_getpid
148	.word sunos_nosys, sunos_nosys, sunos_nosys
149	.word sunos_getuid, sunos_nosys, sys_ptrace
150	.word sunos_nosys, sunos_nosys, sunos_nosys
151	.word sunos_nosys, sunos_nosys, sunos_nosys
152	.word sys_access, sunos_nosys, sunos_nosys
153	.word sys_sync, sys_kill, sys32_newstat
154	.word sunos_nosys, sys32_newlstat, sys_dup
155	.word sys_pipe, sunos_nosys, sunos_nosys
156	.word sunos_nosys, sunos_nosys, sunos_getgid
157	.word sunos_nosys, sunos_nosys
158/*50*/	.word sunos_nosys, sys_acct, sunos_nosys
159	.word sunos_mctl, sunos_ioctl, sys_reboot
160	.word sunos_nosys, sys_symlink, sys_readlink
161	.word sys32_execve, sys_umask, sys_chroot
162	.word sys32_newfstat, sunos_nosys, sys_getpagesize
163	.word sys_msync, sys_vfork, sunos_nosys
164	.word sunos_nosys, sunos_sbrk, sunos_sstk
165	.word sunos_mmap, sunos_vadvise, sys_munmap
166	.word sys_mprotect, sys_madvise, sys_vhangup
167	.word sunos_nosys, sys_mincore, sys32_getgroups16
168	.word sys32_setgroups16, sys_getpgrp, sunos_setpgrp
169	.word sys32_setitimer, sunos_nosys, sys_swapon
170	.word sys32_getitimer, sys_gethostname, sys_sethostname
171	.word sunos_getdtablesize, sys_dup2, sunos_nop
172	.word sys32_fcntl, sunos_select, sunos_nop
173	.word sys_fsync, sys_setpriority32, sunos_socket
174	.word sys_connect, sunos_accept
175/*100*/	.word sys_getpriority, sunos_send, sunos_recv
176	.word sunos_nosys, sys_bind, sunos_setsockopt
177	.word sys_listen, sunos_nosys, sunos_sigaction
178	.word sunos_sigblock, sunos_sigsetmask, sys_sigpause
179	.word sys32_sigstack, sys32_recvmsg, sys32_sendmsg
180	.word sunos_nosys, sys32_gettimeofday, sys32_getrusage
181	.word sunos_getsockopt, sunos_nosys, sunos_readv
182	.word sunos_writev, sys32_settimeofday, sys32_fchown16
183	.word sys_fchmod, sys32_recvfrom, sys32_setreuid16
184	.word sys32_setregid16, sys_rename, sys_truncate
185	.word sys_ftruncate, sys_flock, sunos_nosys
186	.word sys32_sendto, sys_shutdown, sys_socketpair
187	.word sys_mkdir, sys_rmdir, sys32_utimes
188	.word sys32_sigreturn, sunos_nosys, sys_getpeername
189	.word sunos_gethostid, sunos_nosys, sys32_getrlimit
190	.word sys32_setrlimit, sunos_killpg, sunos_nosys
191	.word sunos_nosys, sunos_nosys
192/*150*/	.word sys_getsockname, sunos_nosys, sunos_nosys
193	.word sys_poll, sunos_nosys, sunos_nosys
194	.word sunos_getdirentries, sys32_statfs, sys32_fstatfs
195	.word sys_oldumount, sunos_nosys, sunos_nosys
196	.word sys_getdomainname, sys_setdomainname
197	.word sunos_nosys, sys32_quotactl, sunos_nosys
198	.word sunos_mount, sys_ustat, sunos_semsys
199	.word sunos_nosys, sunos_shmsys, sunos_audit
200	.word sunos_nosys, sunos_getdents, sys_setsid
201	.word sys_fchdir, sunos_nosys, sunos_nosys
202	.word sunos_nosys, sunos_nosys, sunos_nosys
203	.word sunos_nosys, sys32_sigpending, sunos_nosys
204	.word sys_setpgid, sunos_pathconf, sunos_fpathconf
205	.word sunos_sysconf, sunos_uname, sunos_nosys
206	.word sunos_nosys, sunos_nosys, sunos_nosys
207	.word sunos_nosys, sunos_nosys, sunos_nosys
208	.word sunos_nosys, sunos_nosys, sunos_nosys
209/*200*/	.word sunos_nosys, sunos_nosys, sunos_nosys
210	.word sunos_nosys, sunos_nosys, sunos_nosys
211	.word sunos_nosys, sunos_nosys, sunos_nosys
212	.word sunos_nosys, sunos_nosys, sunos_nosys
213	.word sunos_nosys, sunos_nosys, sunos_nosys
214	.word sunos_nosys, sunos_nosys, sunos_nosys
215	.word sunos_nosys, sunos_nosys, sunos_nosys
216	.word sunos_nosys, sunos_nosys, sunos_nosys
217	.word sunos_nosys, sunos_nosys, sunos_nosys
218	.word sunos_nosys, sunos_nosys, sunos_nosys
219	.word sunos_nosys, sunos_nosys, sunos_nosys
220	.word sunos_nosys, sunos_nosys, sunos_nosys
221	.word sunos_nosys, sunos_nosys, sunos_nosys
222	.word sunos_nosys, sunos_nosys, sunos_nosys
223	.word sunos_nosys, sunos_nosys, sunos_nosys
224	.word sunos_nosys, sunos_nosys, sunos_nosys
225	.word sunos_nosys, sunos_nosys
226/*250*/	.word sunos_nosys, sunos_nosys, sunos_nosys
227	.word sunos_nosys, sunos_nosys, sys_aplib
228
229#endif
230