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