.. | .. |
---|
22 | 22 | #include <asm/war.h> |
---|
23 | 23 | #include <asm/asm-offsets.h> |
---|
24 | 24 | |
---|
25 | | -/* Highest syscall used of any syscall flavour */ |
---|
26 | | -#define MAX_SYSCALL_NO __NR_O32_Linux + __NR_O32_Linux_syscalls |
---|
27 | | - |
---|
28 | 25 | .align 5 |
---|
29 | 26 | NESTED(handle_sys, PT_SIZE, sp) |
---|
30 | 27 | .set noat |
---|
.. | .. |
---|
89 | 86 | bnez t0, syscall_trace_entry # -> yes |
---|
90 | 87 | syscall_common: |
---|
91 | 88 | subu v0, v0, __NR_O32_Linux # check syscall number |
---|
92 | | - sltiu t0, v0, __NR_O32_Linux_syscalls + 1 |
---|
| 89 | + sltiu t0, v0, __NR_O32_Linux_syscalls |
---|
93 | 90 | beqz t0, illegal_syscall |
---|
94 | 91 | |
---|
95 | 92 | sll t0, v0, 2 |
---|
.. | .. |
---|
185 | 182 | |
---|
186 | 183 | LEAF(sys_syscall) |
---|
187 | 184 | subu t0, a0, __NR_O32_Linux # check syscall number |
---|
188 | | - sltiu v0, t0, __NR_O32_Linux_syscalls + 1 |
---|
| 185 | + sltiu v0, t0, __NR_O32_Linux_syscalls |
---|
189 | 186 | beqz t0, einval # do not recurse |
---|
190 | 187 | sll t1, t0, 2 |
---|
191 | 188 | beqz v0, einval |
---|
.. | .. |
---|
208 | 205 | jr ra |
---|
209 | 206 | END(sys_syscall) |
---|
210 | 207 | |
---|
211 | | - .align 2 |
---|
212 | | - .type sys_call_table, @object |
---|
213 | | -EXPORT(sys_call_table) |
---|
214 | | - PTR sys_syscall /* 4000 */ |
---|
215 | | - PTR sys_exit |
---|
216 | | - PTR __sys_fork |
---|
217 | | - PTR sys_read |
---|
218 | | - PTR sys_write |
---|
219 | | - PTR sys_open /* 4005 */ |
---|
220 | | - PTR sys_close |
---|
221 | | - PTR sys_waitpid |
---|
222 | | - PTR sys_creat |
---|
223 | | - PTR sys_link |
---|
224 | | - PTR sys_unlink /* 4010 */ |
---|
225 | | - PTR sys_execve |
---|
226 | | - PTR sys_chdir |
---|
227 | | - PTR sys_time |
---|
228 | | - PTR sys_mknod |
---|
229 | | - PTR sys_chmod /* 4015 */ |
---|
230 | | - PTR sys_lchown |
---|
231 | | - PTR sys_ni_syscall |
---|
232 | | - PTR sys_ni_syscall /* was sys_stat */ |
---|
233 | | - PTR sys_lseek |
---|
234 | | - PTR sys_getpid /* 4020 */ |
---|
235 | | - PTR sys_mount |
---|
236 | | - PTR sys_oldumount |
---|
237 | | - PTR sys_setuid |
---|
238 | | - PTR sys_getuid |
---|
239 | | - PTR sys_stime /* 4025 */ |
---|
240 | | - PTR sys_ptrace |
---|
241 | | - PTR sys_alarm |
---|
242 | | - PTR sys_ni_syscall /* was sys_fstat */ |
---|
243 | | - PTR sys_pause |
---|
244 | | - PTR sys_utime /* 4030 */ |
---|
245 | | - PTR sys_ni_syscall |
---|
246 | | - PTR sys_ni_syscall |
---|
247 | | - PTR sys_access |
---|
248 | | - PTR sys_nice |
---|
249 | | - PTR sys_ni_syscall /* 4035 */ |
---|
250 | | - PTR sys_sync |
---|
251 | | - PTR sys_kill |
---|
252 | | - PTR sys_rename |
---|
253 | | - PTR sys_mkdir |
---|
254 | | - PTR sys_rmdir /* 4040 */ |
---|
255 | | - PTR sys_dup |
---|
256 | | - PTR sysm_pipe |
---|
257 | | - PTR sys_times |
---|
258 | | - PTR sys_ni_syscall |
---|
259 | | - PTR sys_brk /* 4045 */ |
---|
260 | | - PTR sys_setgid |
---|
261 | | - PTR sys_getgid |
---|
262 | | - PTR sys_ni_syscall /* was signal(2) */ |
---|
263 | | - PTR sys_geteuid |
---|
264 | | - PTR sys_getegid /* 4050 */ |
---|
265 | | - PTR sys_acct |
---|
266 | | - PTR sys_umount |
---|
267 | | - PTR sys_ni_syscall |
---|
268 | | - PTR sys_ioctl |
---|
269 | | - PTR sys_fcntl /* 4055 */ |
---|
270 | | - PTR sys_ni_syscall |
---|
271 | | - PTR sys_setpgid |
---|
272 | | - PTR sys_ni_syscall |
---|
273 | | - PTR sys_olduname |
---|
274 | | - PTR sys_umask /* 4060 */ |
---|
275 | | - PTR sys_chroot |
---|
276 | | - PTR sys_ustat |
---|
277 | | - PTR sys_dup2 |
---|
278 | | - PTR sys_getppid |
---|
279 | | - PTR sys_getpgrp /* 4065 */ |
---|
280 | | - PTR sys_setsid |
---|
281 | | - PTR sys_sigaction |
---|
282 | | - PTR sys_sgetmask |
---|
283 | | - PTR sys_ssetmask |
---|
284 | | - PTR sys_setreuid /* 4070 */ |
---|
285 | | - PTR sys_setregid |
---|
286 | | - PTR sys_sigsuspend |
---|
287 | | - PTR sys_sigpending |
---|
288 | | - PTR sys_sethostname |
---|
289 | | - PTR sys_setrlimit /* 4075 */ |
---|
290 | | - PTR sys_getrlimit |
---|
291 | | - PTR sys_getrusage |
---|
292 | | - PTR sys_gettimeofday |
---|
293 | | - PTR sys_settimeofday |
---|
294 | | - PTR sys_getgroups /* 4080 */ |
---|
295 | | - PTR sys_setgroups |
---|
296 | | - PTR sys_ni_syscall /* old_select */ |
---|
297 | | - PTR sys_symlink |
---|
298 | | - PTR sys_ni_syscall /* was sys_lstat */ |
---|
299 | | - PTR sys_readlink /* 4085 */ |
---|
300 | | - PTR sys_uselib |
---|
301 | | - PTR sys_swapon |
---|
302 | | - PTR sys_reboot |
---|
303 | | - PTR sys_old_readdir |
---|
304 | | - PTR sys_mips_mmap /* 4090 */ |
---|
305 | | - PTR sys_munmap |
---|
306 | | - PTR sys_truncate |
---|
307 | | - PTR sys_ftruncate |
---|
308 | | - PTR sys_fchmod |
---|
309 | | - PTR sys_fchown /* 4095 */ |
---|
310 | | - PTR sys_getpriority |
---|
311 | | - PTR sys_setpriority |
---|
312 | | - PTR sys_ni_syscall |
---|
313 | | - PTR sys_statfs |
---|
314 | | - PTR sys_fstatfs /* 4100 */ |
---|
315 | | - PTR sys_ni_syscall /* was ioperm(2) */ |
---|
316 | | - PTR sys_socketcall |
---|
317 | | - PTR sys_syslog |
---|
318 | | - PTR sys_setitimer |
---|
319 | | - PTR sys_getitimer /* 4105 */ |
---|
320 | | - PTR sys_newstat |
---|
321 | | - PTR sys_newlstat |
---|
322 | | - PTR sys_newfstat |
---|
323 | | - PTR sys_uname |
---|
324 | | - PTR sys_ni_syscall /* 4110 was iopl(2) */ |
---|
325 | | - PTR sys_vhangup |
---|
326 | | - PTR sys_ni_syscall /* was sys_idle() */ |
---|
327 | | - PTR sys_ni_syscall /* was sys_vm86 */ |
---|
328 | | - PTR sys_wait4 |
---|
329 | | - PTR sys_swapoff /* 4115 */ |
---|
330 | | - PTR sys_sysinfo |
---|
331 | | - PTR sys_ipc |
---|
332 | | - PTR sys_fsync |
---|
333 | | - PTR sys_sigreturn |
---|
334 | | - PTR __sys_clone /* 4120 */ |
---|
335 | | - PTR sys_setdomainname |
---|
336 | | - PTR sys_newuname |
---|
337 | | - PTR sys_ni_syscall /* sys_modify_ldt */ |
---|
338 | | - PTR sys_adjtimex |
---|
339 | | - PTR sys_mprotect /* 4125 */ |
---|
340 | | - PTR sys_sigprocmask |
---|
341 | | - PTR sys_ni_syscall /* was create_module */ |
---|
342 | | - PTR sys_init_module |
---|
343 | | - PTR sys_delete_module |
---|
344 | | - PTR sys_ni_syscall /* 4130 was get_kernel_syms */ |
---|
345 | | - PTR sys_quotactl |
---|
346 | | - PTR sys_getpgid |
---|
347 | | - PTR sys_fchdir |
---|
348 | | - PTR sys_bdflush |
---|
349 | | - PTR sys_sysfs /* 4135 */ |
---|
350 | | - PTR sys_personality |
---|
351 | | - PTR sys_ni_syscall /* for afs_syscall */ |
---|
352 | | - PTR sys_setfsuid |
---|
353 | | - PTR sys_setfsgid |
---|
354 | | - PTR sys_llseek /* 4140 */ |
---|
355 | | - PTR sys_getdents |
---|
356 | | - PTR sys_select |
---|
357 | | - PTR sys_flock |
---|
358 | | - PTR sys_msync |
---|
359 | | - PTR sys_readv /* 4145 */ |
---|
360 | | - PTR sys_writev |
---|
361 | | - PTR sys_cacheflush |
---|
362 | | - PTR sys_cachectl |
---|
363 | | - PTR __sys_sysmips |
---|
364 | | - PTR sys_ni_syscall /* 4150 */ |
---|
365 | | - PTR sys_getsid |
---|
366 | | - PTR sys_fdatasync |
---|
367 | | - PTR sys_sysctl |
---|
368 | | - PTR sys_mlock |
---|
369 | | - PTR sys_munlock /* 4155 */ |
---|
370 | | - PTR sys_mlockall |
---|
371 | | - PTR sys_munlockall |
---|
372 | | - PTR sys_sched_setparam |
---|
373 | | - PTR sys_sched_getparam |
---|
374 | | - PTR sys_sched_setscheduler /* 4160 */ |
---|
375 | | - PTR sys_sched_getscheduler |
---|
376 | | - PTR sys_sched_yield |
---|
377 | | - PTR sys_sched_get_priority_max |
---|
378 | | - PTR sys_sched_get_priority_min |
---|
379 | | - PTR sys_sched_rr_get_interval /* 4165 */ |
---|
380 | | - PTR sys_nanosleep |
---|
381 | | - PTR sys_mremap |
---|
382 | | - PTR sys_accept |
---|
383 | | - PTR sys_bind |
---|
384 | | - PTR sys_connect /* 4170 */ |
---|
385 | | - PTR sys_getpeername |
---|
386 | | - PTR sys_getsockname |
---|
387 | | - PTR sys_getsockopt |
---|
388 | | - PTR sys_listen |
---|
389 | | - PTR sys_recv /* 4175 */ |
---|
390 | | - PTR sys_recvfrom |
---|
391 | | - PTR sys_recvmsg |
---|
392 | | - PTR sys_send |
---|
393 | | - PTR sys_sendmsg |
---|
394 | | - PTR sys_sendto /* 4180 */ |
---|
395 | | - PTR sys_setsockopt |
---|
396 | | - PTR sys_shutdown |
---|
397 | | - PTR sys_socket |
---|
398 | | - PTR sys_socketpair |
---|
399 | | - PTR sys_setresuid /* 4185 */ |
---|
400 | | - PTR sys_getresuid |
---|
401 | | - PTR sys_ni_syscall /* was sys_query_module */ |
---|
402 | | - PTR sys_poll |
---|
403 | | - PTR sys_ni_syscall /* was nfsservctl */ |
---|
404 | | - PTR sys_setresgid /* 4190 */ |
---|
405 | | - PTR sys_getresgid |
---|
406 | | - PTR sys_prctl |
---|
407 | | - PTR sys_rt_sigreturn |
---|
408 | | - PTR sys_rt_sigaction |
---|
409 | | - PTR sys_rt_sigprocmask /* 4195 */ |
---|
410 | | - PTR sys_rt_sigpending |
---|
411 | | - PTR sys_rt_sigtimedwait |
---|
412 | | - PTR sys_rt_sigqueueinfo |
---|
413 | | - PTR sys_rt_sigsuspend |
---|
414 | | - PTR sys_pread64 /* 4200 */ |
---|
415 | | - PTR sys_pwrite64 |
---|
416 | | - PTR sys_chown |
---|
417 | | - PTR sys_getcwd |
---|
418 | | - PTR sys_capget |
---|
419 | | - PTR sys_capset /* 4205 */ |
---|
420 | | - PTR sys_sigaltstack |
---|
421 | | - PTR sys_sendfile |
---|
422 | | - PTR sys_ni_syscall |
---|
423 | | - PTR sys_ni_syscall |
---|
424 | | - PTR sys_mips_mmap2 /* 4210 */ |
---|
425 | | - PTR sys_truncate64 |
---|
426 | | - PTR sys_ftruncate64 |
---|
427 | | - PTR sys_stat64 |
---|
428 | | - PTR sys_lstat64 |
---|
429 | | - PTR sys_fstat64 /* 4215 */ |
---|
430 | | - PTR sys_pivot_root |
---|
431 | | - PTR sys_mincore |
---|
432 | | - PTR sys_madvise |
---|
433 | | - PTR sys_getdents64 |
---|
434 | | - PTR sys_fcntl64 /* 4220 */ |
---|
435 | | - PTR sys_ni_syscall |
---|
436 | | - PTR sys_gettid |
---|
437 | | - PTR sys_readahead |
---|
438 | | - PTR sys_setxattr |
---|
439 | | - PTR sys_lsetxattr /* 4225 */ |
---|
440 | | - PTR sys_fsetxattr |
---|
441 | | - PTR sys_getxattr |
---|
442 | | - PTR sys_lgetxattr |
---|
443 | | - PTR sys_fgetxattr |
---|
444 | | - PTR sys_listxattr /* 4230 */ |
---|
445 | | - PTR sys_llistxattr |
---|
446 | | - PTR sys_flistxattr |
---|
447 | | - PTR sys_removexattr |
---|
448 | | - PTR sys_lremovexattr |
---|
449 | | - PTR sys_fremovexattr /* 4235 */ |
---|
450 | | - PTR sys_tkill |
---|
451 | | - PTR sys_sendfile64 |
---|
452 | | - PTR sys_futex |
---|
453 | 208 | #ifdef CONFIG_MIPS_MT_FPAFF |
---|
454 | 209 | /* |
---|
455 | 210 | * For FPU affinity scheduling on MIPS MT processors, we need to |
---|
.. | .. |
---|
458 | 213 | * these hooks for the 32-bit kernel - there is no MIPS64 MT processor |
---|
459 | 214 | * atm. |
---|
460 | 215 | */ |
---|
461 | | - PTR mipsmt_sys_sched_setaffinity |
---|
462 | | - PTR mipsmt_sys_sched_getaffinity |
---|
463 | | -#else |
---|
464 | | - PTR sys_sched_setaffinity |
---|
465 | | - PTR sys_sched_getaffinity /* 4240 */ |
---|
| 216 | +#define sys_sched_setaffinity mipsmt_sys_sched_setaffinity |
---|
| 217 | +#define sys_sched_getaffinity mipsmt_sys_sched_getaffinity |
---|
466 | 218 | #endif /* CONFIG_MIPS_MT_FPAFF */ |
---|
467 | | - PTR sys_io_setup |
---|
468 | | - PTR sys_io_destroy |
---|
469 | | - PTR sys_io_getevents |
---|
470 | | - PTR sys_io_submit |
---|
471 | | - PTR sys_io_cancel /* 4245 */ |
---|
472 | | - PTR sys_exit_group |
---|
473 | | - PTR sys_lookup_dcookie |
---|
474 | | - PTR sys_epoll_create |
---|
475 | | - PTR sys_epoll_ctl |
---|
476 | | - PTR sys_epoll_wait /* 4250 */ |
---|
477 | | - PTR sys_remap_file_pages |
---|
478 | | - PTR sys_set_tid_address |
---|
479 | | - PTR sys_restart_syscall |
---|
480 | | - PTR sys_fadvise64_64 |
---|
481 | | - PTR sys_statfs64 /* 4255 */ |
---|
482 | | - PTR sys_fstatfs64 |
---|
483 | | - PTR sys_timer_create |
---|
484 | | - PTR sys_timer_settime |
---|
485 | | - PTR sys_timer_gettime |
---|
486 | | - PTR sys_timer_getoverrun /* 4260 */ |
---|
487 | | - PTR sys_timer_delete |
---|
488 | | - PTR sys_clock_settime |
---|
489 | | - PTR sys_clock_gettime |
---|
490 | | - PTR sys_clock_getres |
---|
491 | | - PTR sys_clock_nanosleep /* 4265 */ |
---|
492 | | - PTR sys_tgkill |
---|
493 | | - PTR sys_utimes |
---|
494 | | - PTR sys_mbind |
---|
495 | | - PTR sys_get_mempolicy |
---|
496 | | - PTR sys_set_mempolicy /* 4270 */ |
---|
497 | | - PTR sys_mq_open |
---|
498 | | - PTR sys_mq_unlink |
---|
499 | | - PTR sys_mq_timedsend |
---|
500 | | - PTR sys_mq_timedreceive |
---|
501 | | - PTR sys_mq_notify /* 4275 */ |
---|
502 | | - PTR sys_mq_getsetattr |
---|
503 | | - PTR sys_ni_syscall /* sys_vserver */ |
---|
504 | | - PTR sys_waitid |
---|
505 | | - PTR sys_ni_syscall /* available, was setaltroot */ |
---|
506 | | - PTR sys_add_key /* 4280 */ |
---|
507 | | - PTR sys_request_key |
---|
508 | | - PTR sys_keyctl |
---|
509 | | - PTR sys_set_thread_area |
---|
510 | | - PTR sys_inotify_init |
---|
511 | | - PTR sys_inotify_add_watch /* 4285 */ |
---|
512 | | - PTR sys_inotify_rm_watch |
---|
513 | | - PTR sys_migrate_pages |
---|
514 | | - PTR sys_openat |
---|
515 | | - PTR sys_mkdirat |
---|
516 | | - PTR sys_mknodat /* 4290 */ |
---|
517 | | - PTR sys_fchownat |
---|
518 | | - PTR sys_futimesat |
---|
519 | | - PTR sys_fstatat64 |
---|
520 | | - PTR sys_unlinkat |
---|
521 | | - PTR sys_renameat /* 4295 */ |
---|
522 | | - PTR sys_linkat |
---|
523 | | - PTR sys_symlinkat |
---|
524 | | - PTR sys_readlinkat |
---|
525 | | - PTR sys_fchmodat |
---|
526 | | - PTR sys_faccessat /* 4300 */ |
---|
527 | | - PTR sys_pselect6 |
---|
528 | | - PTR sys_ppoll |
---|
529 | | - PTR sys_unshare |
---|
530 | | - PTR sys_splice |
---|
531 | | - PTR sys_sync_file_range /* 4305 */ |
---|
532 | | - PTR sys_tee |
---|
533 | | - PTR sys_vmsplice |
---|
534 | | - PTR sys_move_pages |
---|
535 | | - PTR sys_set_robust_list |
---|
536 | | - PTR sys_get_robust_list /* 4310 */ |
---|
537 | | - PTR sys_kexec_load |
---|
538 | | - PTR sys_getcpu |
---|
539 | | - PTR sys_epoll_pwait |
---|
540 | | - PTR sys_ioprio_set |
---|
541 | | - PTR sys_ioprio_get /* 4315 */ |
---|
542 | | - PTR sys_utimensat |
---|
543 | | - PTR sys_signalfd |
---|
544 | | - PTR sys_ni_syscall /* was timerfd */ |
---|
545 | | - PTR sys_eventfd |
---|
546 | | - PTR sys_fallocate /* 4320 */ |
---|
547 | | - PTR sys_timerfd_create |
---|
548 | | - PTR sys_timerfd_gettime |
---|
549 | | - PTR sys_timerfd_settime |
---|
550 | | - PTR sys_signalfd4 |
---|
551 | | - PTR sys_eventfd2 /* 4325 */ |
---|
552 | | - PTR sys_epoll_create1 |
---|
553 | | - PTR sys_dup3 |
---|
554 | | - PTR sys_pipe2 |
---|
555 | | - PTR sys_inotify_init1 |
---|
556 | | - PTR sys_preadv /* 4330 */ |
---|
557 | | - PTR sys_pwritev |
---|
558 | | - PTR sys_rt_tgsigqueueinfo |
---|
559 | | - PTR sys_perf_event_open |
---|
560 | | - PTR sys_accept4 |
---|
561 | | - PTR sys_recvmmsg /* 4335 */ |
---|
562 | | - PTR sys_fanotify_init |
---|
563 | | - PTR sys_fanotify_mark |
---|
564 | | - PTR sys_prlimit64 |
---|
565 | | - PTR sys_name_to_handle_at |
---|
566 | | - PTR sys_open_by_handle_at /* 4340 */ |
---|
567 | | - PTR sys_clock_adjtime |
---|
568 | | - PTR sys_syncfs |
---|
569 | | - PTR sys_sendmmsg |
---|
570 | | - PTR sys_setns |
---|
571 | | - PTR sys_process_vm_readv /* 4345 */ |
---|
572 | | - PTR sys_process_vm_writev |
---|
573 | | - PTR sys_kcmp |
---|
574 | | - PTR sys_finit_module |
---|
575 | | - PTR sys_sched_setattr |
---|
576 | | - PTR sys_sched_getattr /* 4350 */ |
---|
577 | | - PTR sys_renameat2 |
---|
578 | | - PTR sys_seccomp |
---|
579 | | - PTR sys_getrandom |
---|
580 | | - PTR sys_memfd_create |
---|
581 | | - PTR sys_bpf /* 4355 */ |
---|
582 | | - PTR sys_execveat |
---|
583 | | - PTR sys_userfaultfd |
---|
584 | | - PTR sys_membarrier |
---|
585 | | - PTR sys_mlock2 |
---|
586 | | - PTR sys_copy_file_range /* 4360 */ |
---|
587 | | - PTR sys_preadv2 |
---|
588 | | - PTR sys_pwritev2 |
---|
589 | | - PTR sys_pkey_mprotect |
---|
590 | | - PTR sys_pkey_alloc |
---|
591 | | - PTR sys_pkey_free /* 4365 */ |
---|
592 | | - PTR sys_statx |
---|
593 | | - PTR sys_rseq |
---|
594 | | - PTR sys_io_pgetevents |
---|
| 219 | + |
---|
| 220 | +#define __SYSCALL(nr, entry) PTR entry |
---|
| 221 | + .align 2 |
---|
| 222 | + .type sys_call_table, @object |
---|
| 223 | +EXPORT(sys_call_table) |
---|
| 224 | +#include <asm/syscall_table_32_o32.h> |
---|
| 225 | +#undef __SYSCALL |
---|