Pull ia64-mutex-primitives into release branch
[linux-2.6] / arch / sparc64 / solaris / systbl.S
1 /* $Id: systbl.S,v 1.11 2000/03/13 21:57:35 davem Exp $
2  * systbl.S: System call entry point table for Solaris compatibility.
3  *
4  * Copyright (C) 1997,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
5  * Copyright (C) 1996 Miguel de Icaza (miguel@nuclecu.unam.mx)
6  */
7
8 #include <asm/unistd.h>
9
10 /* Fall back to sys_call_table32 entry */
11 #define CHAIN(name)     __NR_##name
12
13 /* Pass pt_regs pointer as first argument */
14 #define REGS(name)      name+1
15
16 /* Hack till all be implemented */
17 #define solaris_getpmsg         solaris_unimplemented
18 #define solaris_hrtsys          solaris_unimplemented
19 #define solaris_msgsys          solaris_unimplemented
20 #define solaris_putpmsg         solaris_unimplemented
21 #define solaris_semsys          solaris_unimplemented
22
23         .data
24         .globl          solaris_sys_table
25 solaris_sys_table:
26         .word solaris_unimplemented     /* nosys                0       */
27         .word CHAIN(exit)               /* exit         d       1       */
28         .word CHAIN(fork)               /* fork                 2       */
29         .word CHAIN(read)               /* read         dpd     3       */
30         .word CHAIN(write)              /* write        dpd     4       */
31         .word solaris_open              /* open         soo     5       */
32         .word CHAIN(close)              /* close        d       6       */
33         .word solaris_wait              /* wait         xxx     7       */
34         .word CHAIN(creat)              /* creat        so      8       */
35         .word CHAIN(link)               /* link         ss      9       */
36         .word CHAIN(unlink)             /* unlink       s       10      */
37         .word solaris_unimplemented     /* exec         sxx     11      */
38         .word CHAIN(chdir)              /* chdir        s       12      */
39         .word CHAIN(time)               /* time                 13      */
40         .word solaris_mknod             /* mknod        sox     14      */
41         .word CHAIN(chmod)              /* chmod        so      15      */ 
42         .word CHAIN(chown)              /* chown        sdd     16      */
43         .word solaris_brk               /* brk/break    x       17      */
44         .word solaris_stat              /* stat         sp      18      */
45         .word CHAIN(lseek)              /* seek/lseek   ddd     19      */
46         .word solaris_getpid            /* getpid               20      */
47         .word solaris_unimplemented     /* mount                21      */
48         .word CHAIN(umount)             /* umount       s       22      */
49         .word CHAIN(setuid)             /* setuid       d       23      */
50         .word solaris_getuid            /* getuid               24      */
51         .word CHAIN(stime)              /* stime        d       25      */
52 #if 0
53         .word solaris_ptrace            /* ptrace       xdxx    26      */
54 #else
55         .word CHAIN(ptrace)             /* ptrace       xdxx    26      */
56 #endif
57         .word CHAIN(alarm)              /* alarm        d       27      */
58         .word solaris_fstat             /* fstat        dp      28      */
59         .word CHAIN(pause)              /* pause                29      */
60         .word CHAIN(utime)              /* utime        xx      30      */
61         .word solaris_unimplemented     /* stty                 31      */
62         .word solaris_unimplemented     /* gtty                 32      */
63         .word solaris_access            /* access       so      33      */
64         .word CHAIN(nice)               /* nice         d       34      */
65         .word solaris_statfs            /* statfs       spdd    35      */
66         .word CHAIN(sync)               /* sync                 36      */
67         .word solaris_kill              /* kill         dd      37      */
68         .word solaris_fstatfs           /* fstatfs      dpdd    38      */
69         .word solaris_procids           /* pgrpsys      ddd     39      */
70         .word solaris_unimplemented     /* xenix                40      */
71         .word CHAIN(dup)                /* dup          d       41      */
72         .word CHAIN(pipe)               /* pipe                 42      */
73         .word CHAIN(times)              /* times        p       43      */
74         .word 44 /*CHAIN(profil)*/      /* prof         xxxx    44      */
75         .word solaris_unimplemented     /* lock/plock           45      */
76         .word CHAIN(setgid)             /* setgid       d       46      */
77         .word solaris_getgid            /* getgid               47      */
78         .word solaris_sigfunc           /* sigfunc      xx      48      */
79         .word REGS(solaris_msgsys)      /* msgsys       dxddd   49      */
80         .word solaris_unimplemented     /* syssun/3b            50      */
81         .word CHAIN(acct)               /* acct/sysacct x       51      */
82         .word solaris_shmsys            /* shmsys       ddxo    52      */
83         .word REGS(solaris_semsys)      /* semsys       dddx    53      */
84         .word solaris_ioctl             /* ioctl        dxx     54      */
85         .word solaris_unimplemented     /* uadmin       xxx     55      */
86         .word solaris_unimplemented     /* reserved:exch        56      */
87         .word solaris_utssys            /* utssys       x       57      */
88         .word CHAIN(fsync)              /* fsync        d       58      */
89         .word CHAIN(execve)             /* execv        spp     59      */
90         .word CHAIN(umask)              /* umask        o       60      */
91         .word CHAIN(chroot)             /* chroot       s       61      */
92         .word solaris_fcntl             /* fcntl        dxx     62      */
93         .word solaris_ulimit            /* ulimit       xx      63      */
94         .word solaris_unimplemented     /* ?                    64      */
95         .word solaris_unimplemented     /* ?                    65      */
96         .word solaris_unimplemented     /* ?                    66      */
97         .word solaris_unimplemented     /* ?                    67      */
98         .word solaris_unimplemented     /* ?                    68      */
99         .word solaris_unimplemented     /* ?                    69      */
100         .word solaris_unimplemented     /* advfs                70      */
101         .word solaris_unimplemented     /* unadvfs              71      */
102         .word solaris_unimplemented     /* rmount               72      */
103         .word solaris_unimplemented     /* rumount              73      */
104         .word solaris_unimplemented     /* rfstart              74      */
105         .word solaris_unimplemented     /* ?                    75      */
106         .word solaris_unimplemented     /* rdebug               76      */
107         .word solaris_unimplemented     /* rfstop               77      */
108         .word solaris_unimplemented     /* rfsys                78      */
109         .word CHAIN(rmdir)              /* rmdir        s       79      */
110         .word CHAIN(mkdir)              /* mkdir        so      80      */
111         .word CHAIN(getdents)           /* getdents     dxd     81      */
112         .word solaris_unimplemented     /* libattach            82      */
113         .word solaris_unimplemented     /* libdetach            83      */
114         .word CHAIN(sysfs)              /* sysfs        dxx     84      */
115         .word solaris_getmsg            /* getmsg       dxxx    85      */
116         .word solaris_putmsg            /* putmsg       dxxd    86      */
117         .word CHAIN(poll)               /* poll         xdd     87      */
118         .word solaris_lstat             /* lstat        sp      88      */
119         .word CHAIN(symlink)            /* symlink      ss      89      */
120         .word CHAIN(readlink)           /* readlink     spd     90      */
121         .word CHAIN(setgroups)          /* setgroups    dp      91      */
122         .word CHAIN(getgroups)          /* getgroups    dp      92      */
123         .word CHAIN(fchmod)             /* fchmod       do      93      */
124         .word CHAIN(fchown)             /* fchown       ddd     94      */
125         .word solaris_sigprocmask       /* sigprocmask  dxx     95      */
126         .word solaris_sigsuspend        /* sigsuspend   x       96      */
127         .word solaris_sigaltstack       /* sigaltstack  xx      97      */
128         .word solaris_sigaction         /* sigaction    dxx     98      */
129         .word solaris_sigpending        /* sigpending   dd      99      */
130         .word REGS(solaris_context)     /* context              100     */
131         .word solaris_unimplemented     /* evsys                101     */
132         .word solaris_unimplemented     /* evtrapret            102     */
133         .word solaris_statvfs           /* statvfs      sp      103     */
134         .word solaris_fstatvfs          /* fstatvfs     dp      104     */
135         .word solaris_unimplemented     /* unknown              105     */
136         .word solaris_unimplemented     /* nfssys               106     */
137         .word solaris_waitid            /* waitid       ddxd    107     */
138         .word solaris_unimplemented     /* sigsendsys   ddd     108     */
139         .word REGS(solaris_hrtsys)      /* hrtsys       xxx     109     */
140         .word solaris_unimplemented     /* acancel      dxd     110     */
141         .word solaris_unimplemented     /* async                111     */
142         .word solaris_unimplemented     /* priocntlsys          112     */
143         .word solaris_pathconf          /* pathconf     sd      113     */
144         .word CHAIN(mincore)            /* mincore      d       114     */
145         .word solaris_mmap              /* mmap         xxxxdx  115     */
146         .word CHAIN(mprotect)           /* mprotect     xdx     116     */
147         .word CHAIN(munmap)             /* munmap       xd      117     */
148         .word solaris_fpathconf         /* fpathconf    dd      118     */
149         .word CHAIN(fork)               /* fork                 119     */
150         .word solaris_unimplemented     /* fchdir       d       120     */
151         .word CHAIN(readv)              /* readv        dxd     121     */
152         .word CHAIN(writev)             /* writev       dxd     122     */
153         .word solaris_xstat             /* xstat        dsx     123     */
154         .word solaris_lxstat            /* lxstat       dsx     124     */
155         .word solaris_fxstat            /* fxstat       ddx     125     */
156         .word solaris_xmknod            /* xmknod       dsox    126     */
157         .word solaris_unimplemented     /* syslocal     d       127     */
158         .word solaris_setrlimit         /* setrlimit    dp      128     */
159         .word solaris_getrlimit         /* getrlimit    dp      129     */
160         .word CHAIN(chown)              /* lchown       sdd     130     */
161         .word solaris_unimplemented     /* memcntl              131     */
162         .word solaris_getpmsg           /* getpmsg      dxxxx   132     */
163         .word solaris_putpmsg           /* putpmsg      dxxdd   133     */
164         .word CHAIN(rename)             /* rename       ss      134     */
165         .word solaris_utsname           /* uname        x       135     */
166         .word solaris_unimplemented     /* setegid              136     */
167         .word solaris_sysconf           /* sysconfig    d       137     */
168         .word solaris_unimplemented     /* adjtime              138     */
169         .word solaris_sysinfo           /* systeminfo   dsd     139     */
170         .word solaris_unimplemented     /* ?                    140     */
171         .word solaris_unimplemented     /* seteuid              141     */
172         .word solaris_unimplemented     /* ?                    142     */
173         .word solaris_unimplemented     /* ?                    143     */
174         .word solaris_unimplemented     /* secsys       dx      144     */
175         .word solaris_unimplemented     /* filepriv     sdxd    145     */
176         .word solaris_unimplemented     /* procpriv     dxd     146     */
177         .word solaris_unimplemented     /* devstat      sdx     147     */
178         .word solaris_unimplemented     /* aclipc       ddddx   148     */
179         .word solaris_unimplemented     /* fdevstat     ddx     149     */
180         .word solaris_unimplemented     /* flvlfile     ddx     150     */
181         .word solaris_unimplemented     /* lvlfile      sdx     151     */
182         .word solaris_unimplemented     /* ?                    152     */
183         .word solaris_unimplemented     /* fchroot      d       153     */
184         .word solaris_unimplemented     /* lvlproc      dx      154     */
185         .word solaris_unimplemented     /* ?                    155     */
186         .word solaris_gettimeofday      /* gettimeofday x       156     */
187         .word CHAIN(getitimer)          /* getitimer    dx      157     */
188         .word CHAIN(setitimer)          /* setitimer    dxx     158     */
189         .word solaris_unimplemented     /* lwp-xxx              159     */
190         .word solaris_unimplemented     /* lwp-xxx              160     */
191         .word solaris_unimplemented     /* lwp-xxx              161     */
192         .word solaris_unimplemented     /* lwp-xxx              162     */
193         .word solaris_unimplemented     /* lwp-xxx              163     */
194         .word solaris_unimplemented     /* lwp-xxx              164     */
195         .word solaris_unimplemented     /* lwp-xxx              165     */
196         .word solaris_unimplemented     /* lwp-xxx              166     */
197         .word solaris_unimplemented     /* lwp-xxx              167     */
198         .word solaris_unimplemented     /* lwp-xxx              168     */
199         .word solaris_unimplemented     /* lwp-xxx              169     */
200         .word solaris_unimplemented     /* lwp-xxx              170     */
201         .word solaris_unimplemented     /* lwp-xxx              171     */
202         .word solaris_unimplemented     /* lwp-xxx              172     */
203         .word solaris_pread             /* pread        dpdd    173     */
204         .word solaris_pwrite            /* pwrite       dpdd    174     */
205         .word REGS(solaris_llseek)      /* llseek       dLd     175     */
206         .word solaris_unimplemented     /* lwpself              176     */
207         .word solaris_unimplemented     /* lwpinfo              177     */
208         .word solaris_unimplemented     /* lwpprivate           178     */
209         .word solaris_unimplemented     /* processorbind        179     */
210         .word solaris_unimplemented     /* processorexbind      180     */
211         .word solaris_unimplemented     /*                      181     */
212         .word solaris_unimplemented     /* sync_mailbox         182     */
213         .word solaris_unimplemented     /* prepblock            183     */
214         .word solaris_unimplemented     /* block                184     */
215         .word solaris_acl               /* acl          sddp    185     */
216         .word solaris_unimplemented     /* unblock              186     */
217         .word solaris_unimplemented     /* cancelblock          187     */
218         .word solaris_unimplemented     /* ?                    188     */
219         .word solaris_unimplemented     /* xxxxx                189     */
220         .word solaris_unimplemented     /* xxxxxe               190     */
221         .word solaris_unimplemented     /*                      191     */
222         .word solaris_unimplemented     /*                      192     */
223         .word solaris_unimplemented     /*                      193     */
224         .word solaris_unimplemented     /*                      194     */
225         .word solaris_unimplemented     /*                      195     */
226         .word solaris_unimplemented     /*                      196     */
227         .word solaris_unimplemented     /*                      197     */
228         .word solaris_unimplemented     /*                      198     */
229         .word CHAIN(nanosleep)          /* nanosleep    dd      199     */
230         .word solaris_facl              /* facl         dddp    200     */
231         .word solaris_unimplemented     /*                      201     */
232         .word CHAIN(setreuid)           /* setreuid     dd      202     */
233         .word CHAIN(setregid)           /* setregid     dd      203     */
234         .word solaris_unimplemented     /*                      204     */
235         .word solaris_unimplemented     /*                      205     */
236         .word solaris_unimplemented     /*                      206     */
237         .word solaris_unimplemented     /*                      207     */
238         .word solaris_unimplemented     /*                      208     */
239         .word solaris_unimplemented     /*                      209     */
240         .word solaris_unimplemented     /*                      210     */
241         .word solaris_unimplemented     /*                      211     */
242         .word solaris_unimplemented     /*                      212     */
243         .word solaris_getdents64        /* getdents64   dpd     213     */
244         .word REGS(solaris_mmap64)      /* mmap64       xxxxdX  214     */
245         .word solaris_stat64            /* stat64       sP      215     */
246         .word solaris_lstat64           /* lstat64      sP      216     */
247         .word solaris_fstat64           /* fstat64      dP      217     */
248         .word solaris_statvfs64         /* statvfs64    sP      218     */
249         .word solaris_fstatvfs64        /* fstatvfs64   dP      219     */
250         .word solaris_setrlimit64       /* setrlimit64  dP      220     */
251         .word solaris_getrlimit64       /* getrlimit64  dP      221     */
252         .word CHAIN(pread64)            /* pread64      dpdD    222     */
253         .word CHAIN(pwrite64)           /* pwrite64     dpdD    223     */
254         .word CHAIN(creat)              /* creat64      so      224     */
255         .word solaris_open              /* open64       soo     225     */
256         .word solaris_unimplemented     /*                      226     */
257         .word solaris_unimplemented     /*                      227     */
258         .word solaris_unimplemented     /*                      228     */
259         .word solaris_unimplemented     /*                      229     */
260         .word solaris_socket            /* socket       ddd     230     */
261         .word solaris_socketpair        /* socketpair   dddp    231     */
262         .word solaris_bind              /* bind         dpd     232     */
263         .word solaris_listen            /* listen       dd      233     */
264         .word solaris_accept            /* accept       dpp     234     */
265         .word solaris_connect           /* connect      dpd     235     */
266         .word solaris_shutdown          /* shutdown     dd      236     */
267         .word solaris_recv              /* recv         dpdd    237     */
268         .word solaris_recvfrom          /* recvfrom     dpddpp  238     */
269         .word solaris_recvmsg           /* recvmsg      dpd     239     */
270         .word solaris_send              /* send         dpdd    240     */
271         .word solaris_sendmsg           /* sendmsg      dpd     241     */
272         .word solaris_sendto            /* sendto       dpddpd  242     */
273         .word solaris_getpeername       /* getpeername  dpp     243     */
274         .word solaris_getsockname       /* getsockname  dpp     244     */
275         .word solaris_getsockopt        /* getsockopt   dddpp   245     */
276         .word solaris_setsockopt        /* setsockopt   dddpp   246     */
277         .word solaris_unimplemented     /*                      247     */
278         .word solaris_ntp_gettime       /* ntp_gettime  p       248     */
279         .word solaris_ntp_adjtime       /* ntp_adjtime  p       249     */
280         .word solaris_unimplemented     /*                      250     */
281         .word solaris_unimplemented     /*                      251     */
282         .word solaris_unimplemented     /*                      252     */
283         .word solaris_unimplemented     /*                      253     */
284         .word solaris_unimplemented     /*                      254     */
285         .word solaris_unimplemented     /*                      255     */