aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/sys32.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc64/kernel/sys32.S')
-rw-r--r--arch/sparc64/kernel/sys32.S145
1 files changed, 80 insertions, 65 deletions
diff --git a/arch/sparc64/kernel/sys32.S b/arch/sparc64/kernel/sys32.S
index 5f9e4fae612e..4fb99e0bc7c3 100644
--- a/arch/sparc64/kernel/sys32.S
+++ b/arch/sparc64/kernel/sys32.S
@@ -158,163 +158,163 @@ sys32_socketcall: /* %o0=call, %o1=args */
158 jmpl %g2 + %o0, %g0 158 jmpl %g2 + %o0, %g0
159 nop 159 nop
160 160
161 /* Each entry is exactly 32 bytes. */
162 .align 32 161 .align 32
163__socketcall_table_begin: 162__socketcall_table_begin:
163
164 /* Each entry is exactly 32 bytes. */
164do_sys_socket: /* sys_socket(int, int, int) */ 165do_sys_socket: /* sys_socket(int, int, int) */
165 ldswa [%o1 + 0x0] %asi, %o0 1661: ldswa [%o1 + 0x0] %asi, %o0
166 sethi %hi(sys_socket), %g1 167 sethi %hi(sys_socket), %g1
167 ldswa [%o1 + 0x8] %asi, %o2 1682: ldswa [%o1 + 0x8] %asi, %o2
168 jmpl %g1 + %lo(sys_socket), %g0 169 jmpl %g1 + %lo(sys_socket), %g0
169 ldswa [%o1 + 0x4] %asi, %o1 1703: ldswa [%o1 + 0x4] %asi, %o1
170 nop 171 nop
171 nop 172 nop
172 nop 173 nop
173do_sys_bind: /* sys_bind(int fd, struct sockaddr *, int) */ 174do_sys_bind: /* sys_bind(int fd, struct sockaddr *, int) */
174 ldswa [%o1 + 0x0] %asi, %o0 1754: ldswa [%o1 + 0x0] %asi, %o0
175 sethi %hi(sys_bind), %g1 176 sethi %hi(sys_bind), %g1
176 ldswa [%o1 + 0x8] %asi, %o2 1775: ldswa [%o1 + 0x8] %asi, %o2
177 jmpl %g1 + %lo(sys_bind), %g0 178 jmpl %g1 + %lo(sys_bind), %g0
178 lduwa [%o1 + 0x4] %asi, %o1 1796: lduwa [%o1 + 0x4] %asi, %o1
179 nop 180 nop
180 nop 181 nop
181 nop 182 nop
182do_sys_connect: /* sys_connect(int, struct sockaddr *, int) */ 183do_sys_connect: /* sys_connect(int, struct sockaddr *, int) */
183 ldswa [%o1 + 0x0] %asi, %o0 1847: ldswa [%o1 + 0x0] %asi, %o0
184 sethi %hi(sys_connect), %g1 185 sethi %hi(sys_connect), %g1
185 ldswa [%o1 + 0x8] %asi, %o2 1868: ldswa [%o1 + 0x8] %asi, %o2
186 jmpl %g1 + %lo(sys_connect), %g0 187 jmpl %g1 + %lo(sys_connect), %g0
187 lduwa [%o1 + 0x4] %asi, %o1 1889: lduwa [%o1 + 0x4] %asi, %o1
188 nop 189 nop
189 nop 190 nop
190 nop 191 nop
191do_sys_listen: /* sys_listen(int, int) */ 192do_sys_listen: /* sys_listen(int, int) */
192 ldswa [%o1 + 0x0] %asi, %o0 19310: ldswa [%o1 + 0x0] %asi, %o0
193 sethi %hi(sys_listen), %g1 194 sethi %hi(sys_listen), %g1
194 jmpl %g1 + %lo(sys_listen), %g0 195 jmpl %g1 + %lo(sys_listen), %g0
195 ldswa [%o1 + 0x4] %asi, %o1 19611: ldswa [%o1 + 0x4] %asi, %o1
196 nop 197 nop
197 nop 198 nop
198 nop 199 nop
199 nop 200 nop
200do_sys_accept: /* sys_accept(int, struct sockaddr *, int *) */ 201do_sys_accept: /* sys_accept(int, struct sockaddr *, int *) */
201 ldswa [%o1 + 0x0] %asi, %o0 20212: ldswa [%o1 + 0x0] %asi, %o0
202 sethi %hi(sys_accept), %g1 203 sethi %hi(sys_accept), %g1
203 lduwa [%o1 + 0x8] %asi, %o2 20413: lduwa [%o1 + 0x8] %asi, %o2
204 jmpl %g1 + %lo(sys_accept), %g0 205 jmpl %g1 + %lo(sys_accept), %g0
205 lduwa [%o1 + 0x4] %asi, %o1 20614: lduwa [%o1 + 0x4] %asi, %o1
206 nop 207 nop
207 nop 208 nop
208 nop 209 nop
209do_sys_getsockname: /* sys_getsockname(int, struct sockaddr *, int *) */ 210do_sys_getsockname: /* sys_getsockname(int, struct sockaddr *, int *) */
210 ldswa [%o1 + 0x0] %asi, %o0 21115: ldswa [%o1 + 0x0] %asi, %o0
211 sethi %hi(sys_getsockname), %g1 212 sethi %hi(sys_getsockname), %g1
212 lduwa [%o1 + 0x8] %asi, %o2 21316: lduwa [%o1 + 0x8] %asi, %o2
213 jmpl %g1 + %lo(sys_getsockname), %g0 214 jmpl %g1 + %lo(sys_getsockname), %g0
214 lduwa [%o1 + 0x4] %asi, %o1 21517: lduwa [%o1 + 0x4] %asi, %o1
215 nop 216 nop
216 nop 217 nop
217 nop 218 nop
218do_sys_getpeername: /* sys_getpeername(int, struct sockaddr *, int *) */ 219do_sys_getpeername: /* sys_getpeername(int, struct sockaddr *, int *) */
219 ldswa [%o1 + 0x0] %asi, %o0 22018: ldswa [%o1 + 0x0] %asi, %o0
220 sethi %hi(sys_getpeername), %g1 221 sethi %hi(sys_getpeername), %g1
221 lduwa [%o1 + 0x8] %asi, %o2 22219: lduwa [%o1 + 0x8] %asi, %o2
222 jmpl %g1 + %lo(sys_getpeername), %g0 223 jmpl %g1 + %lo(sys_getpeername), %g0
223 lduwa [%o1 + 0x4] %asi, %o1 22420: lduwa [%o1 + 0x4] %asi, %o1
224 nop 225 nop
225 nop 226 nop
226 nop 227 nop
227do_sys_socketpair: /* sys_socketpair(int, int, int, int *) */ 228do_sys_socketpair: /* sys_socketpair(int, int, int, int *) */
228 ldswa [%o1 + 0x0] %asi, %o0 22921: ldswa [%o1 + 0x0] %asi, %o0
229 sethi %hi(sys_socketpair), %g1 230 sethi %hi(sys_socketpair), %g1
230 ldswa [%o1 + 0x8] %asi, %o2 23122: ldswa [%o1 + 0x8] %asi, %o2
231 lduwa [%o1 + 0xc] %asi, %o3 23223: lduwa [%o1 + 0xc] %asi, %o3
232 jmpl %g1 + %lo(sys_socketpair), %g0 233 jmpl %g1 + %lo(sys_socketpair), %g0
233 ldswa [%o1 + 0x4] %asi, %o1 23424: ldswa [%o1 + 0x4] %asi, %o1
234 nop 235 nop
235 nop 236 nop
236do_sys_send: /* sys_send(int, void *, size_t, unsigned int) */ 237do_sys_send: /* sys_send(int, void *, size_t, unsigned int) */
237 ldswa [%o1 + 0x0] %asi, %o0 23825: ldswa [%o1 + 0x0] %asi, %o0
238 sethi %hi(sys_send), %g1 239 sethi %hi(sys_send), %g1
239 lduwa [%o1 + 0x8] %asi, %o2 24026: lduwa [%o1 + 0x8] %asi, %o2
240 lduwa [%o1 + 0xc] %asi, %o3 24127: lduwa [%o1 + 0xc] %asi, %o3
241 jmpl %g1 + %lo(sys_send), %g0 242 jmpl %g1 + %lo(sys_send), %g0
242 lduwa [%o1 + 0x4] %asi, %o1 24328: lduwa [%o1 + 0x4] %asi, %o1
243 nop 244 nop
244 nop 245 nop
245do_sys_recv: /* sys_recv(int, void *, size_t, unsigned int) */ 246do_sys_recv: /* sys_recv(int, void *, size_t, unsigned int) */
246 ldswa [%o1 + 0x0] %asi, %o0 24729: ldswa [%o1 + 0x0] %asi, %o0
247 sethi %hi(sys_recv), %g1 248 sethi %hi(sys_recv), %g1
248 lduwa [%o1 + 0x8] %asi, %o2 24930: lduwa [%o1 + 0x8] %asi, %o2
249 lduwa [%o1 + 0xc] %asi, %o3 25031: lduwa [%o1 + 0xc] %asi, %o3
250 jmpl %g1 + %lo(sys_recv), %g0 251 jmpl %g1 + %lo(sys_recv), %g0
251 lduwa [%o1 + 0x4] %asi, %o1 25232: lduwa [%o1 + 0x4] %asi, %o1
252 nop 253 nop
253 nop 254 nop
254do_sys_sendto: /* sys_sendto(int, u32, compat_size_t, unsigned int, u32, int) */ 255do_sys_sendto: /* sys_sendto(int, u32, compat_size_t, unsigned int, u32, int) */
255 ldswa [%o1 + 0x0] %asi, %o0 25633: ldswa [%o1 + 0x0] %asi, %o0
256 sethi %hi(sys_sendto), %g1 257 sethi %hi(sys_sendto), %g1
257 lduwa [%o1 + 0x8] %asi, %o2 25834: lduwa [%o1 + 0x8] %asi, %o2
258 lduwa [%o1 + 0xc] %asi, %o3 25935: lduwa [%o1 + 0xc] %asi, %o3
259 lduwa [%o1 + 0x10] %asi, %o4 26036: lduwa [%o1 + 0x10] %asi, %o4
260 ldswa [%o1 + 0x14] %asi, %o5 26137: ldswa [%o1 + 0x14] %asi, %o5
261 jmpl %g1 + %lo(sys_sendto), %g0 262 jmpl %g1 + %lo(sys_sendto), %g0
262 lduwa [%o1 + 0x4] %asi, %o1 26338: lduwa [%o1 + 0x4] %asi, %o1
263do_sys_recvfrom: /* sys_recvfrom(int, u32, compat_size_t, unsigned int, u32, u32) */ 264do_sys_recvfrom: /* sys_recvfrom(int, u32, compat_size_t, unsigned int, u32, u32) */
264 ldswa [%o1 + 0x0] %asi, %o0 26539: ldswa [%o1 + 0x0] %asi, %o0
265 sethi %hi(sys_recvfrom), %g1 266 sethi %hi(sys_recvfrom), %g1
266 lduwa [%o1 + 0x8] %asi, %o2 26740: lduwa [%o1 + 0x8] %asi, %o2
267 lduwa [%o1 + 0xc] %asi, %o3 26841: lduwa [%o1 + 0xc] %asi, %o3
268 lduwa [%o1 + 0x10] %asi, %o4 26942: lduwa [%o1 + 0x10] %asi, %o4
269 lduwa [%o1 + 0x14] %asi, %o5 27043: lduwa [%o1 + 0x14] %asi, %o5
270 jmpl %g1 + %lo(sys_recvfrom), %g0 271 jmpl %g1 + %lo(sys_recvfrom), %g0
271 lduwa [%o1 + 0x4] %asi, %o1 27244: lduwa [%o1 + 0x4] %asi, %o1
272do_sys_shutdown: /* sys_shutdown(int, int) */ 273do_sys_shutdown: /* sys_shutdown(int, int) */
273 ldswa [%o1 + 0x0] %asi, %o0 27445: ldswa [%o1 + 0x0] %asi, %o0
274 sethi %hi(sys_shutdown), %g1 275 sethi %hi(sys_shutdown), %g1
275 jmpl %g1 + %lo(sys_shutdown), %g0 276 jmpl %g1 + %lo(sys_shutdown), %g0
276 ldswa [%o1 + 0x4] %asi, %o1 27746: ldswa [%o1 + 0x4] %asi, %o1
277 nop 278 nop
278 nop 279 nop
279 nop 280 nop
280 nop 281 nop
281do_sys_setsockopt: /* compat_sys_setsockopt(int, int, int, char *, int) */ 282do_sys_setsockopt: /* compat_sys_setsockopt(int, int, int, char *, int) */
282 ldswa [%o1 + 0x0] %asi, %o0 28347: ldswa [%o1 + 0x0] %asi, %o0
283 sethi %hi(compat_sys_setsockopt), %g1 284 sethi %hi(compat_sys_setsockopt), %g1
284 ldswa [%o1 + 0x8] %asi, %o2 28548: ldswa [%o1 + 0x8] %asi, %o2
285 lduwa [%o1 + 0xc] %asi, %o3 28649: lduwa [%o1 + 0xc] %asi, %o3
286 ldswa [%o1 + 0x10] %asi, %o4 28750: ldswa [%o1 + 0x10] %asi, %o4
287 jmpl %g1 + %lo(compat_sys_setsockopt), %g0 288 jmpl %g1 + %lo(compat_sys_setsockopt), %g0
288 ldswa [%o1 + 0x4] %asi, %o1 28951: ldswa [%o1 + 0x4] %asi, %o1
289 nop 290 nop
290do_sys_getsockopt: /* compat_sys_getsockopt(int, int, int, u32, u32) */ 291do_sys_getsockopt: /* compat_sys_getsockopt(int, int, int, u32, u32) */
291 ldswa [%o1 + 0x0] %asi, %o0 29252: ldswa [%o1 + 0x0] %asi, %o0
292 sethi %hi(compat_sys_getsockopt), %g1 293 sethi %hi(compat_sys_getsockopt), %g1
293 ldswa [%o1 + 0x8] %asi, %o2 29453: ldswa [%o1 + 0x8] %asi, %o2
294 lduwa [%o1 + 0xc] %asi, %o3 29554: lduwa [%o1 + 0xc] %asi, %o3
295 lduwa [%o1 + 0x10] %asi, %o4 29655: lduwa [%o1 + 0x10] %asi, %o4
296 jmpl %g1 + %lo(compat_sys_getsockopt), %g0 297 jmpl %g1 + %lo(compat_sys_getsockopt), %g0
297 ldswa [%o1 + 0x4] %asi, %o1 29856: ldswa [%o1 + 0x4] %asi, %o1
298 nop 299 nop
299do_sys_sendmsg: /* compat_sys_sendmsg(int, struct compat_msghdr *, unsigned int) */ 300do_sys_sendmsg: /* compat_sys_sendmsg(int, struct compat_msghdr *, unsigned int) */
300 ldswa [%o1 + 0x0] %asi, %o0 30157: ldswa [%o1 + 0x0] %asi, %o0
301 sethi %hi(compat_sys_sendmsg), %g1 302 sethi %hi(compat_sys_sendmsg), %g1
302 lduwa [%o1 + 0x8] %asi, %o2 30358: lduwa [%o1 + 0x8] %asi, %o2
303 jmpl %g1 + %lo(compat_sys_sendmsg), %g0 304 jmpl %g1 + %lo(compat_sys_sendmsg), %g0
304 lduwa [%o1 + 0x4] %asi, %o1 30559: lduwa [%o1 + 0x4] %asi, %o1
305 nop 306 nop
306 nop 307 nop
307 nop 308 nop
308do_sys_recvmsg: /* compat_sys_recvmsg(int, struct compat_msghdr *, unsigned int) */ 309do_sys_recvmsg: /* compat_sys_recvmsg(int, struct compat_msghdr *, unsigned int) */
309 ldswa [%o1 + 0x0] %asi, %o0 31060: ldswa [%o1 + 0x0] %asi, %o0
310 sethi %hi(compat_sys_recvmsg), %g1 311 sethi %hi(compat_sys_recvmsg), %g1
311 lduwa [%o1 + 0x8] %asi, %o2 31261: lduwa [%o1 + 0x8] %asi, %o2
312 jmpl %g1 + %lo(compat_sys_recvmsg), %g0 313 jmpl %g1 + %lo(compat_sys_recvmsg), %g0
313 lduwa [%o1 + 0x4] %asi, %o1 31462: lduwa [%o1 + 0x4] %asi, %o1
314 nop 315 nop
315 nop 316 nop
316 nop 317 nop
317__socketcall_table_end:
318 318
319do_einval: 319do_einval:
320 retl 320 retl
@@ -325,5 +325,20 @@ do_efault:
325 325
326 .section __ex_table 326 .section __ex_table
327 .align 4 327 .align 4
328 .word __socketcall_table_begin, 0, __socketcall_table_end, do_efault 328 .word 1b, do_efault, 2b, do_efault, 3b, do_efault, 4b, do_efault
329 .word 5b, do_efault, 6b, do_efault, 7b, do_efault, 8b, do_efault
330 .word 9b, do_efault, 10b, do_efault, 11b, do_efault, 12b, do_efault
331 .word 13b, do_efault, 14b, do_efault, 15b, do_efault, 16b, do_efault
332 .word 17b, do_efault, 18b, do_efault, 19b, do_efault, 20b, do_efault
333 .word 21b, do_efault, 22b, do_efault, 23b, do_efault, 24b, do_efault
334 .word 25b, do_efault, 26b, do_efault, 27b, do_efault, 28b, do_efault
335 .word 29b, do_efault, 30b, do_efault, 31b, do_efault, 32b, do_efault
336 .word 33b, do_efault, 34b, do_efault, 35b, do_efault, 36b, do_efault
337 .word 37b, do_efault, 38b, do_efault, 39b, do_efault, 40b, do_efault
338 .word 41b, do_efault, 42b, do_efault, 43b, do_efault, 44b, do_efault
339 .word 45b, do_efault, 46b, do_efault, 47b, do_efault, 48b, do_efault
340 .word 49b, do_efault, 50b, do_efault, 51b, do_efault, 52b, do_efault
341 .word 53b, do_efault, 54b, do_efault, 55b, do_efault, 56b, do_efault
342 .word 57b, do_efault, 58b, do_efault, 59b, do_efault, 60b, do_efault
343 .word 61b, do_efault, 62b, do_efault
329 .previous 344 .previous