hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/arch/mips/kernel/scall64-o32.S
....@@ -34,14 +34,14 @@
3434 ld t1, PT_EPC(sp) # skip syscall on return
3535
3636 dsubu t0, v0, __NR_O32_Linux # check syscall number
37
- sltiu t0, t0, __NR_O32_Linux_syscalls + 1
37
+ sltiu t0, t0, __NR_O32_Linux_syscalls
3838 daddiu t1, 4 # skip to next instruction
3939 sd t1, PT_EPC(sp)
4040 beqz t0, not_o32_scall
4141 #if 0
4242 SAVE_ALL
4343 move a1, v0
44
- PRINT("Scall %ld\n")
44
+ ASM_PRINT("Scall %ld\n")
4545 RESTORE_ALL
4646 #endif
4747
....@@ -144,7 +144,7 @@
144144 ld a7, PT_R11(sp) # For indirect syscalls
145145
146146 dsubu t0, v0, __NR_O32_Linux # check (new) syscall number
147
- sltiu t0, t0, __NR_O32_Linux_syscalls + 1
147
+ sltiu t0, t0, __NR_O32_Linux_syscalls
148148 beqz t0, not_o32_scall
149149
150150 j syscall_common
....@@ -193,7 +193,7 @@
193193
194194 LEAF(sys32_syscall)
195195 subu t0, a0, __NR_O32_Linux # check syscall number
196
- sltiu v0, t0, __NR_O32_Linux_syscalls + 1
196
+ sltiu v0, t0, __NR_O32_Linux_syscalls
197197 beqz t0, einval # do not recurse
198198 dsll t1, t0, 3
199199 beqz v0, einval
....@@ -213,376 +213,9 @@
213213 jr ra
214214 END(sys32_syscall)
215215
216
+#define __SYSCALL(nr, entry) PTR entry
216217 .align 3
217218 .type sys32_call_table,@object
218219 EXPORT(sys32_call_table)
219
- PTR sys32_syscall /* 4000 */
220
- PTR sys_exit
221
- PTR __sys_fork
222
- PTR sys_read
223
- PTR sys_write
224
- PTR compat_sys_open /* 4005 */
225
- PTR sys_close
226
- PTR sys_waitpid
227
- PTR sys_creat
228
- PTR sys_link
229
- PTR sys_unlink /* 4010 */
230
- PTR compat_sys_execve
231
- PTR sys_chdir
232
- PTR compat_sys_time
233
- PTR sys_mknod
234
- PTR sys_chmod /* 4015 */
235
- PTR sys_lchown
236
- PTR sys_ni_syscall
237
- PTR sys_ni_syscall /* was sys_stat */
238
- PTR sys_lseek
239
- PTR sys_getpid /* 4020 */
240
- PTR compat_sys_mount
241
- PTR sys_oldumount
242
- PTR sys_setuid
243
- PTR sys_getuid
244
- PTR compat_sys_stime /* 4025 */
245
- PTR compat_sys_ptrace
246
- PTR sys_alarm
247
- PTR sys_ni_syscall /* was sys_fstat */
248
- PTR sys_pause
249
- PTR compat_sys_utime /* 4030 */
250
- PTR sys_ni_syscall
251
- PTR sys_ni_syscall
252
- PTR sys_access
253
- PTR sys_nice
254
- PTR sys_ni_syscall /* 4035 */
255
- PTR sys_sync
256
- PTR sys_kill
257
- PTR sys_rename
258
- PTR sys_mkdir
259
- PTR sys_rmdir /* 4040 */
260
- PTR sys_dup
261
- PTR sysm_pipe
262
- PTR compat_sys_times
263
- PTR sys_ni_syscall
264
- PTR sys_brk /* 4045 */
265
- PTR sys_setgid
266
- PTR sys_getgid
267
- PTR sys_ni_syscall /* was signal 2 */
268
- PTR sys_geteuid
269
- PTR sys_getegid /* 4050 */
270
- PTR sys_acct
271
- PTR sys_umount
272
- PTR sys_ni_syscall
273
- PTR compat_sys_ioctl
274
- PTR compat_sys_fcntl /* 4055 */
275
- PTR sys_ni_syscall
276
- PTR sys_setpgid
277
- PTR sys_ni_syscall
278
- PTR sys_olduname
279
- PTR sys_umask /* 4060 */
280
- PTR sys_chroot
281
- PTR compat_sys_ustat
282
- PTR sys_dup2
283
- PTR sys_getppid
284
- PTR sys_getpgrp /* 4065 */
285
- PTR sys_setsid
286
- PTR sys_32_sigaction
287
- PTR sys_sgetmask
288
- PTR sys_ssetmask
289
- PTR sys_setreuid /* 4070 */
290
- PTR sys_setregid
291
- PTR sys32_sigsuspend
292
- PTR compat_sys_sigpending
293
- PTR sys_sethostname
294
- PTR compat_sys_setrlimit /* 4075 */
295
- PTR compat_sys_getrlimit
296
- PTR compat_sys_getrusage
297
- PTR compat_sys_gettimeofday
298
- PTR compat_sys_settimeofday
299
- PTR sys_getgroups /* 4080 */
300
- PTR sys_setgroups
301
- PTR sys_ni_syscall /* old_select */
302
- PTR sys_symlink
303
- PTR sys_ni_syscall /* was sys_lstat */
304
- PTR sys_readlink /* 4085 */
305
- PTR sys_uselib
306
- PTR sys_swapon
307
- PTR sys_reboot
308
- PTR compat_sys_old_readdir
309
- PTR sys_mips_mmap /* 4090 */
310
- PTR sys_munmap
311
- PTR compat_sys_truncate
312
- PTR compat_sys_ftruncate
313
- PTR sys_fchmod
314
- PTR sys_fchown /* 4095 */
315
- PTR sys_getpriority
316
- PTR sys_setpriority
317
- PTR sys_ni_syscall
318
- PTR compat_sys_statfs
319
- PTR compat_sys_fstatfs /* 4100 */
320
- PTR sys_ni_syscall /* sys_ioperm */
321
- PTR compat_sys_socketcall
322
- PTR sys_syslog
323
- PTR compat_sys_setitimer
324
- PTR compat_sys_getitimer /* 4105 */
325
- PTR compat_sys_newstat
326
- PTR compat_sys_newlstat
327
- PTR compat_sys_newfstat
328
- PTR sys_uname
329
- PTR sys_ni_syscall /* sys_ioperm *//* 4110 */
330
- PTR sys_vhangup
331
- PTR sys_ni_syscall /* was sys_idle */
332
- PTR sys_ni_syscall /* sys_vm86 */
333
- PTR compat_sys_wait4
334
- PTR sys_swapoff /* 4115 */
335
- PTR compat_sys_sysinfo
336
- PTR compat_sys_ipc
337
- PTR sys_fsync
338
- PTR sys32_sigreturn
339
- PTR __sys_clone /* 4120 */
340
- PTR sys_setdomainname
341
- PTR sys_newuname
342
- PTR sys_ni_syscall /* sys_modify_ldt */
343
- PTR compat_sys_adjtimex
344
- PTR sys_mprotect /* 4125 */
345
- PTR compat_sys_sigprocmask
346
- PTR sys_ni_syscall /* was creat_module */
347
- PTR sys_init_module
348
- PTR sys_delete_module
349
- PTR sys_ni_syscall /* 4130, get_kernel_syms */
350
- PTR sys_quotactl
351
- PTR sys_getpgid
352
- PTR sys_fchdir
353
- PTR sys_bdflush
354
- PTR sys_sysfs /* 4135 */
355
- PTR sys_32_personality
356
- PTR sys_ni_syscall /* for afs_syscall */
357
- PTR sys_setfsuid
358
- PTR sys_setfsgid
359
- PTR sys_32_llseek /* 4140 */
360
- PTR compat_sys_getdents
361
- PTR compat_sys_select
362
- PTR sys_flock
363
- PTR sys_msync
364
- PTR compat_sys_readv /* 4145 */
365
- PTR compat_sys_writev
366
- PTR sys_cacheflush
367
- PTR sys_cachectl
368
- PTR __sys_sysmips
369
- PTR sys_ni_syscall /* 4150 */
370
- PTR sys_getsid
371
- PTR sys_fdatasync
372
- PTR compat_sys_sysctl
373
- PTR sys_mlock
374
- PTR sys_munlock /* 4155 */
375
- PTR sys_mlockall
376
- PTR sys_munlockall
377
- PTR sys_sched_setparam
378
- PTR sys_sched_getparam
379
- PTR sys_sched_setscheduler /* 4160 */
380
- PTR sys_sched_getscheduler
381
- PTR sys_sched_yield
382
- PTR sys_sched_get_priority_max
383
- PTR sys_sched_get_priority_min
384
- PTR compat_sys_sched_rr_get_interval /* 4165 */
385
- PTR compat_sys_nanosleep
386
- PTR sys_mremap
387
- PTR sys_accept
388
- PTR sys_bind
389
- PTR sys_connect /* 4170 */
390
- PTR sys_getpeername
391
- PTR sys_getsockname
392
- PTR compat_sys_getsockopt
393
- PTR sys_listen
394
- PTR compat_sys_recv /* 4175 */
395
- PTR compat_sys_recvfrom
396
- PTR compat_sys_recvmsg
397
- PTR sys_send
398
- PTR compat_sys_sendmsg
399
- PTR sys_sendto /* 4180 */
400
- PTR compat_sys_setsockopt
401
- PTR sys_shutdown
402
- PTR sys_socket
403
- PTR sys_socketpair
404
- PTR sys_setresuid /* 4185 */
405
- PTR sys_getresuid
406
- PTR sys_ni_syscall /* was query_module */
407
- PTR sys_poll
408
- PTR sys_ni_syscall /* was nfsservctl */
409
- PTR sys_setresgid /* 4190 */
410
- PTR sys_getresgid
411
- PTR sys_prctl
412
- PTR sys32_rt_sigreturn
413
- PTR compat_sys_rt_sigaction
414
- PTR compat_sys_rt_sigprocmask /* 4195 */
415
- PTR compat_sys_rt_sigpending
416
- PTR compat_sys_rt_sigtimedwait
417
- PTR compat_sys_rt_sigqueueinfo
418
- PTR compat_sys_rt_sigsuspend
419
- PTR sys_32_pread /* 4200 */
420
- PTR sys_32_pwrite
421
- PTR sys_chown
422
- PTR sys_getcwd
423
- PTR sys_capget
424
- PTR sys_capset /* 4205 */
425
- PTR compat_sys_sigaltstack
426
- PTR compat_sys_sendfile
427
- PTR sys_ni_syscall
428
- PTR sys_ni_syscall
429
- PTR sys_mips_mmap2 /* 4210 */
430
- PTR sys_32_truncate64
431
- PTR sys_32_ftruncate64
432
- PTR sys_newstat
433
- PTR sys_newlstat
434
- PTR sys_newfstat /* 4215 */
435
- PTR sys_pivot_root
436
- PTR sys_mincore
437
- PTR sys_madvise
438
- PTR sys_getdents64
439
- PTR compat_sys_fcntl64 /* 4220 */
440
- PTR sys_ni_syscall
441
- PTR sys_gettid
442
- PTR sys32_readahead
443
- PTR sys_setxattr
444
- PTR sys_lsetxattr /* 4225 */
445
- PTR sys_fsetxattr
446
- PTR sys_getxattr
447
- PTR sys_lgetxattr
448
- PTR sys_fgetxattr
449
- PTR sys_listxattr /* 4230 */
450
- PTR sys_llistxattr
451
- PTR sys_flistxattr
452
- PTR sys_removexattr
453
- PTR sys_lremovexattr
454
- PTR sys_fremovexattr /* 4235 */
455
- PTR sys_tkill
456
- PTR sys_sendfile64
457
- PTR compat_sys_futex
458
- PTR compat_sys_sched_setaffinity
459
- PTR compat_sys_sched_getaffinity /* 4240 */
460
- PTR compat_sys_io_setup
461
- PTR sys_io_destroy
462
- PTR compat_sys_io_getevents
463
- PTR compat_sys_io_submit
464
- PTR sys_io_cancel /* 4245 */
465
- PTR sys_exit_group
466
- PTR compat_sys_lookup_dcookie
467
- PTR sys_epoll_create
468
- PTR sys_epoll_ctl
469
- PTR sys_epoll_wait /* 4250 */
470
- PTR sys_remap_file_pages
471
- PTR sys_set_tid_address
472
- PTR sys_restart_syscall
473
- PTR sys32_fadvise64_64
474
- PTR compat_sys_statfs64 /* 4255 */
475
- PTR compat_sys_fstatfs64
476
- PTR compat_sys_timer_create
477
- PTR compat_sys_timer_settime
478
- PTR compat_sys_timer_gettime
479
- PTR sys_timer_getoverrun /* 4260 */
480
- PTR sys_timer_delete
481
- PTR compat_sys_clock_settime
482
- PTR compat_sys_clock_gettime
483
- PTR compat_sys_clock_getres
484
- PTR compat_sys_clock_nanosleep /* 4265 */
485
- PTR sys_tgkill
486
- PTR compat_sys_utimes
487
- PTR compat_sys_mbind
488
- PTR compat_sys_get_mempolicy
489
- PTR compat_sys_set_mempolicy /* 4270 */
490
- PTR compat_sys_mq_open
491
- PTR sys_mq_unlink
492
- PTR compat_sys_mq_timedsend
493
- PTR compat_sys_mq_timedreceive
494
- PTR compat_sys_mq_notify /* 4275 */
495
- PTR compat_sys_mq_getsetattr
496
- PTR sys_ni_syscall /* sys_vserver */
497
- PTR compat_sys_waitid
498
- PTR sys_ni_syscall /* available, was setaltroot */
499
- PTR sys_add_key /* 4280 */
500
- PTR sys_request_key
501
- PTR compat_sys_keyctl
502
- PTR sys_set_thread_area
503
- PTR sys_inotify_init
504
- PTR sys_inotify_add_watch /* 4285 */
505
- PTR sys_inotify_rm_watch
506
- PTR compat_sys_migrate_pages
507
- PTR compat_sys_openat
508
- PTR sys_mkdirat
509
- PTR sys_mknodat /* 4290 */
510
- PTR sys_fchownat
511
- PTR compat_sys_futimesat
512
- PTR sys_newfstatat
513
- PTR sys_unlinkat
514
- PTR sys_renameat /* 4295 */
515
- PTR sys_linkat
516
- PTR sys_symlinkat
517
- PTR sys_readlinkat
518
- PTR sys_fchmodat
519
- PTR sys_faccessat /* 4300 */
520
- PTR compat_sys_pselect6
521
- PTR compat_sys_ppoll
522
- PTR sys_unshare
523
- PTR sys_splice
524
- PTR sys32_sync_file_range /* 4305 */
525
- PTR sys_tee
526
- PTR compat_sys_vmsplice
527
- PTR compat_sys_move_pages
528
- PTR compat_sys_set_robust_list
529
- PTR compat_sys_get_robust_list /* 4310 */
530
- PTR compat_sys_kexec_load
531
- PTR sys_getcpu
532
- PTR compat_sys_epoll_pwait
533
- PTR sys_ioprio_set
534
- PTR sys_ioprio_get /* 4315 */
535
- PTR compat_sys_utimensat
536
- PTR compat_sys_signalfd
537
- PTR sys_ni_syscall /* was timerfd */
538
- PTR sys_eventfd
539
- PTR sys32_fallocate /* 4320 */
540
- PTR sys_timerfd_create
541
- PTR compat_sys_timerfd_gettime
542
- PTR compat_sys_timerfd_settime
543
- PTR compat_sys_signalfd4
544
- PTR sys_eventfd2 /* 4325 */
545
- PTR sys_epoll_create1
546
- PTR sys_dup3
547
- PTR sys_pipe2
548
- PTR sys_inotify_init1
549
- PTR compat_sys_preadv /* 4330 */
550
- PTR compat_sys_pwritev
551
- PTR compat_sys_rt_tgsigqueueinfo
552
- PTR sys_perf_event_open
553
- PTR sys_accept4
554
- PTR compat_sys_recvmmsg /* 4335 */
555
- PTR sys_fanotify_init
556
- PTR compat_sys_fanotify_mark
557
- PTR sys_prlimit64
558
- PTR sys_name_to_handle_at
559
- PTR compat_sys_open_by_handle_at /* 4340 */
560
- PTR compat_sys_clock_adjtime
561
- PTR sys_syncfs
562
- PTR compat_sys_sendmmsg
563
- PTR sys_setns
564
- PTR compat_sys_process_vm_readv /* 4345 */
565
- PTR compat_sys_process_vm_writev
566
- PTR sys_kcmp
567
- PTR sys_finit_module
568
- PTR sys_sched_setattr
569
- PTR sys_sched_getattr /* 4350 */
570
- PTR sys_renameat2
571
- PTR sys_seccomp
572
- PTR sys_getrandom
573
- PTR sys_memfd_create
574
- PTR sys_bpf /* 4355 */
575
- PTR compat_sys_execveat
576
- PTR sys_userfaultfd
577
- PTR sys_membarrier
578
- PTR sys_mlock2
579
- PTR sys_copy_file_range /* 4360 */
580
- PTR compat_sys_preadv2
581
- PTR compat_sys_pwritev2
582
- PTR sys_pkey_mprotect
583
- PTR sys_pkey_alloc
584
- PTR sys_pkey_free /* 4365 */
585
- PTR sys_statx
586
- PTR sys_rseq
587
- PTR compat_sys_io_pgetevents
588
- .size sys32_call_table,.-sys32_call_table
220
+#include <asm/syscall_table_64_o32.h>
221
+#undef __SYSCALL