2 * arch/s390/kernel/sys_wrapper31.S
3 * wrapper for 31 bit compatible system calls.
6 * Copyright (C) 2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
7 * Author(s): Gerhard Tonn (ton@de.ibm.com),
8 * Thomas Spatzier (tspat@de.ibm.com)
11 .globl sys32_exit_wrapper
14 jg sys_exit # branch to sys_exit
16 .globl sys32_read_wrapper
18 llgfr %r2,%r2 # unsigned int
19 llgtr %r3,%r3 # char *
20 llgfr %r4,%r4 # size_t
21 jg sys32_read # branch to sys_read
23 .globl sys32_write_wrapper
25 llgfr %r2,%r2 # unsigned int
26 llgtr %r3,%r3 # const char *
27 llgfr %r4,%r4 # size_t
28 jg sys32_write # branch to system call
30 .globl sys32_open_wrapper
32 llgtr %r2,%r2 # const char *
35 jg sys_open # branch to system call
37 .globl sys32_close_wrapper
39 llgfr %r2,%r2 # unsigned int
40 jg sys_close # branch to system call
42 .globl sys32_creat_wrapper
44 llgtr %r2,%r2 # const char *
46 jg sys_creat # branch to system call
48 .globl sys32_link_wrapper
50 llgtr %r2,%r2 # const char *
51 llgtr %r3,%r3 # const char *
52 jg sys_link # branch to system call
54 .globl sys32_unlink_wrapper
56 llgtr %r2,%r2 # const char *
57 jg sys_unlink # branch to system call
59 .globl sys32_chdir_wrapper
61 llgtr %r2,%r2 # const char *
62 jg sys_chdir # branch to system call
64 .globl sys32_time_wrapper
67 jg compat_sys_time # branch to system call
69 .globl sys32_mknod_wrapper
71 llgtr %r2,%r2 # const char *
74 jg sys_mknod # branch to system call
76 .globl sys32_chmod_wrapper
78 llgtr %r2,%r2 # const char *
79 llgfr %r3,%r3 # mode_t
80 jg sys_chmod # branch to system call
82 .globl sys32_lchown16_wrapper
83 sys32_lchown16_wrapper:
84 llgtr %r2,%r2 # const char *
85 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
86 llgfr %r4,%r4 # __kernel_old_uid_emu31_t
87 jg sys32_lchown16 # branch to system call
89 .globl sys32_lseek_wrapper
91 llgfr %r2,%r2 # unsigned int
93 llgfr %r4,%r4 # unsigned int
94 jg sys_lseek # branch to system call
96 #sys32_getpid_wrapper # void
98 .globl sys32_mount_wrapper
100 llgtr %r2,%r2 # char *
101 llgtr %r3,%r3 # char *
102 llgtr %r4,%r4 # char *
103 llgfr %r5,%r5 # unsigned long
104 llgtr %r6,%r6 # void *
105 jg compat_sys_mount # branch to system call
107 .globl sys32_oldumount_wrapper
108 sys32_oldumount_wrapper:
109 llgtr %r2,%r2 # char *
110 jg sys_oldumount # branch to system call
112 .globl sys32_setuid16_wrapper
113 sys32_setuid16_wrapper:
114 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
115 jg sys32_setuid16 # branch to system call
117 #sys32_getuid16_wrapper # void
119 .globl sys32_ptrace_wrapper
120 sys32_ptrace_wrapper:
125 jg sys_ptrace # branch to system call
127 .globl sys32_alarm_wrapper
129 llgfr %r2,%r2 # unsigned int
130 jg sys_alarm # branch to system call
132 #sys32_pause_wrapper # void
134 .globl compat_sys_utime_wrapper
135 compat_sys_utime_wrapper:
136 llgtr %r2,%r2 # char *
137 llgtr %r3,%r3 # struct compat_utimbuf *
138 jg compat_sys_utime # branch to system call
140 .globl sys32_access_wrapper
141 sys32_access_wrapper:
142 llgtr %r2,%r2 # const char *
144 jg sys_access # branch to system call
146 .globl sys32_nice_wrapper
149 jg sys_nice # branch to system call
151 #sys32_sync_wrapper # void
153 .globl sys32_kill_wrapper
157 jg sys_kill # branch to system call
159 .globl sys32_rename_wrapper
160 sys32_rename_wrapper:
161 llgtr %r2,%r2 # const char *
162 llgtr %r3,%r3 # const char *
163 jg sys_rename # branch to system call
165 .globl sys32_mkdir_wrapper
167 llgtr %r2,%r2 # const char *
169 jg sys_mkdir # branch to system call
171 .globl sys32_rmdir_wrapper
173 llgtr %r2,%r2 # const char *
174 jg sys_rmdir # branch to system call
176 .globl sys32_dup_wrapper
178 llgfr %r2,%r2 # unsigned int
179 jg sys_dup # branch to system call
181 .globl sys32_pipe_wrapper
183 llgtr %r2,%r2 # u32 *
184 jg sys_pipe # branch to system call
186 .globl compat_sys_times_wrapper
187 compat_sys_times_wrapper:
188 llgtr %r2,%r2 # struct compat_tms *
189 jg compat_sys_times # branch to system call
191 .globl sys32_brk_wrapper
193 llgtr %r2,%r2 # unsigned long
194 jg sys_brk # branch to system call
196 .globl sys32_setgid16_wrapper
197 sys32_setgid16_wrapper:
198 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
199 jg sys32_setgid16 # branch to system call
201 #sys32_getgid16_wrapper # void
203 .globl sys32_signal_wrapper
204 sys32_signal_wrapper:
206 llgtr %r3,%r3 # __sighandler_t
209 #sys32_geteuid16_wrapper # void
211 #sys32_getegid16_wrapper # void
213 .globl sys32_acct_wrapper
215 llgtr %r2,%r2 # char *
216 jg sys_acct # branch to system call
218 .globl sys32_umount_wrapper
219 sys32_umount_wrapper:
220 llgtr %r2,%r2 # char *
222 jg sys_umount # branch to system call
224 .globl compat_sys_ioctl_wrapper
225 compat_sys_ioctl_wrapper:
226 llgfr %r2,%r2 # unsigned int
227 llgfr %r3,%r3 # unsigned int
228 llgfr %r4,%r4 # unsigned int
229 jg compat_sys_ioctl # branch to system call
231 .globl compat_sys_fcntl_wrapper
232 compat_sys_fcntl_wrapper:
233 llgfr %r2,%r2 # unsigned int
234 llgfr %r3,%r3 # unsigned int
235 llgfr %r4,%r4 # unsigned long
236 jg compat_sys_fcntl # branch to system call
238 .globl sys32_setpgid_wrapper
239 sys32_setpgid_wrapper:
242 jg sys_setpgid # branch to system call
244 .globl sys32_umask_wrapper
247 jg sys_umask # branch to system call
249 .globl sys32_chroot_wrapper
250 sys32_chroot_wrapper:
251 llgtr %r2,%r2 # char *
252 jg sys_chroot # branch to system call
254 .globl sys32_ustat_wrapper
256 llgfr %r2,%r2 # dev_t
257 llgtr %r3,%r3 # struct ustat *
260 .globl sys32_dup2_wrapper
262 llgfr %r2,%r2 # unsigned int
263 llgfr %r3,%r3 # unsigned int
264 jg sys_dup2 # branch to system call
266 #sys32_getppid_wrapper # void
268 #sys32_getpgrp_wrapper # void
270 #sys32_setsid_wrapper # void
272 .globl sys32_sigaction_wrapper
273 sys32_sigaction_wrapper:
275 llgtr %r3,%r3 # const struct old_sigaction *
276 llgtr %r4,%r4 # struct old_sigaction32 *
277 jg sys32_sigaction # branch to system call
279 .globl sys32_setreuid16_wrapper
280 sys32_setreuid16_wrapper:
281 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
282 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
283 jg sys32_setreuid16 # branch to system call
285 .globl sys32_setregid16_wrapper
286 sys32_setregid16_wrapper:
287 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
288 llgfr %r3,%r3 # __kernel_old_gid_emu31_t
289 jg sys32_setregid16 # branch to system call
291 #sys32_sigsuspend_wrapper # done in sigsuspend_glue
293 .globl compat_sys_sigpending_wrapper
294 compat_sys_sigpending_wrapper:
295 llgtr %r2,%r2 # compat_old_sigset_t *
296 jg compat_sys_sigpending # branch to system call
298 .globl sys32_sethostname_wrapper
299 sys32_sethostname_wrapper:
300 llgtr %r2,%r2 # char *
302 jg sys_sethostname # branch to system call
304 .globl compat_sys_setrlimit_wrapper
305 compat_sys_setrlimit_wrapper:
306 llgfr %r2,%r2 # unsigned int
307 llgtr %r3,%r3 # struct rlimit_emu31 *
308 jg compat_sys_setrlimit # branch to system call
310 .globl compat_sys_old_getrlimit_wrapper
311 compat_sys_old_getrlimit_wrapper:
312 llgfr %r2,%r2 # unsigned int
313 llgtr %r3,%r3 # struct rlimit_emu31 *
314 jg compat_sys_old_getrlimit # branch to system call
316 .globl compat_sys_getrlimit_wrapper
317 compat_sys_getrlimit_wrapper:
318 llgfr %r2,%r2 # unsigned int
319 llgtr %r3,%r3 # struct rlimit_emu31 *
320 jg compat_sys_getrlimit # branch to system call
322 .globl sys32_mmap2_wrapper
324 llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
325 jg sys32_mmap2 # branch to system call
327 .globl compat_sys_getrusage_wrapper
328 compat_sys_getrusage_wrapper:
330 llgtr %r3,%r3 # struct rusage_emu31 *
331 jg compat_sys_getrusage # branch to system call
333 .globl sys32_gettimeofday_wrapper
334 sys32_gettimeofday_wrapper:
335 llgtr %r2,%r2 # struct timeval_emu31 *
336 llgtr %r3,%r3 # struct timezone *
337 jg sys32_gettimeofday # branch to system call
339 .globl sys32_settimeofday_wrapper
340 sys32_settimeofday_wrapper:
341 llgtr %r2,%r2 # struct timeval_emu31 *
342 llgtr %r3,%r3 # struct timezone *
343 jg sys32_settimeofday # branch to system call
345 .globl sys32_getgroups16_wrapper
346 sys32_getgroups16_wrapper:
348 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
349 jg sys32_getgroups16 # branch to system call
351 .globl sys32_setgroups16_wrapper
352 sys32_setgroups16_wrapper:
354 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
355 jg sys32_setgroups16 # branch to system call
357 .globl sys32_symlink_wrapper
358 sys32_symlink_wrapper:
359 llgtr %r2,%r2 # const char *
360 llgtr %r3,%r3 # const char *
361 jg sys_symlink # branch to system call
363 .globl sys32_readlink_wrapper
364 sys32_readlink_wrapper:
365 llgtr %r2,%r2 # const char *
366 llgtr %r3,%r3 # char *
368 jg sys_readlink # branch to system call
370 .globl sys32_uselib_wrapper
371 sys32_uselib_wrapper:
372 llgtr %r2,%r2 # const char *
373 jg sys_uselib # branch to system call
375 .globl sys32_swapon_wrapper
376 sys32_swapon_wrapper:
377 llgtr %r2,%r2 # const char *
379 jg sys_swapon # branch to system call
381 .globl sys32_reboot_wrapper
382 sys32_reboot_wrapper:
385 llgfr %r4,%r4 # unsigned int
386 llgtr %r5,%r5 # void *
387 jg sys_reboot # branch to system call
389 .globl old32_readdir_wrapper
390 old32_readdir_wrapper:
391 llgfr %r2,%r2 # unsigned int
392 llgtr %r3,%r3 # void *
393 llgfr %r4,%r4 # unsigned int
394 jg compat_sys_old_readdir # branch to system call
396 .globl old32_mmap_wrapper
398 llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
399 jg old32_mmap # branch to system call
401 .globl sys32_munmap_wrapper
402 sys32_munmap_wrapper:
403 llgfr %r2,%r2 # unsigned long
404 llgfr %r3,%r3 # size_t
405 jg sys_munmap # branch to system call
407 .globl sys32_truncate_wrapper
408 sys32_truncate_wrapper:
409 llgtr %r2,%r2 # const char *
410 llgfr %r3,%r3 # unsigned long
411 jg sys_truncate # branch to system call
413 .globl sys32_ftruncate_wrapper
414 sys32_ftruncate_wrapper:
415 llgfr %r2,%r2 # unsigned int
416 llgfr %r3,%r3 # unsigned long
417 jg sys_ftruncate # branch to system call
419 .globl sys32_fchmod_wrapper
420 sys32_fchmod_wrapper:
421 llgfr %r2,%r2 # unsigned int
422 llgfr %r3,%r3 # mode_t
423 jg sys_fchmod # branch to system call
425 .globl sys32_fchown16_wrapper
426 sys32_fchown16_wrapper:
427 llgfr %r2,%r2 # unsigned int
428 llgfr %r3,%r3 # compat_uid_t
429 llgfr %r4,%r4 # compat_uid_t
430 jg sys32_fchown16 # branch to system call
432 .globl sys32_getpriority_wrapper
433 sys32_getpriority_wrapper:
436 jg sys_getpriority # branch to system call
438 .globl sys32_setpriority_wrapper
439 sys32_setpriority_wrapper:
443 jg sys_setpriority # branch to system call
445 .globl compat_sys_statfs_wrapper
446 compat_sys_statfs_wrapper:
447 llgtr %r2,%r2 # char *
448 llgtr %r3,%r3 # struct compat_statfs *
449 jg compat_sys_statfs # branch to system call
451 .globl compat_sys_fstatfs_wrapper
452 compat_sys_fstatfs_wrapper:
453 llgfr %r2,%r2 # unsigned int
454 llgtr %r3,%r3 # struct compat_statfs *
455 jg compat_sys_fstatfs # branch to system call
457 .globl compat_sys_socketcall_wrapper
458 compat_sys_socketcall_wrapper:
460 llgtr %r3,%r3 # u32 *
461 jg compat_sys_socketcall # branch to system call
463 .globl sys32_syslog_wrapper
464 sys32_syslog_wrapper:
466 llgtr %r3,%r3 # char *
468 jg sys_syslog # branch to system call
470 .globl compat_sys_setitimer_wrapper
471 compat_sys_setitimer_wrapper:
473 llgtr %r3,%r3 # struct itimerval_emu31 *
474 llgtr %r4,%r4 # struct itimerval_emu31 *
475 jg compat_sys_setitimer # branch to system call
477 .globl compat_sys_getitimer_wrapper
478 compat_sys_getitimer_wrapper:
480 llgtr %r3,%r3 # struct itimerval_emu31 *
481 jg compat_sys_getitimer # branch to system call
483 .globl compat_sys_newstat_wrapper
484 compat_sys_newstat_wrapper:
485 llgtr %r2,%r2 # char *
486 llgtr %r3,%r3 # struct stat_emu31 *
487 jg compat_sys_newstat # branch to system call
489 .globl compat_sys_newlstat_wrapper
490 compat_sys_newlstat_wrapper:
491 llgtr %r2,%r2 # char *
492 llgtr %r3,%r3 # struct stat_emu31 *
493 jg compat_sys_newlstat # branch to system call
495 .globl compat_sys_newfstat_wrapper
496 compat_sys_newfstat_wrapper:
497 llgfr %r2,%r2 # unsigned int
498 llgtr %r3,%r3 # struct stat_emu31 *
499 jg compat_sys_newfstat # branch to system call
501 #sys32_vhangup_wrapper # void
503 .globl compat_sys_wait4_wrapper
504 compat_sys_wait4_wrapper:
506 llgtr %r3,%r3 # unsigned int *
508 llgtr %r5,%r5 # struct rusage *
509 jg compat_sys_wait4 # branch to system call
511 .globl sys32_swapoff_wrapper
512 sys32_swapoff_wrapper:
513 llgtr %r2,%r2 # const char *
514 jg sys_swapoff # branch to system call
516 .globl sys32_sysinfo_wrapper
517 sys32_sysinfo_wrapper:
518 llgtr %r2,%r2 # struct sysinfo_emu31 *
519 jg sys32_sysinfo # branch to system call
521 .globl sys32_ipc_wrapper
528 jg sys32_ipc # branch to system call
530 .globl sys32_fsync_wrapper
532 llgfr %r2,%r2 # unsigned int
533 jg sys_fsync # branch to system call
535 #sys32_sigreturn_wrapper # done in sigreturn_glue
537 #sys32_clone_wrapper # done in clone_glue
539 .globl sys32_setdomainname_wrapper
540 sys32_setdomainname_wrapper:
541 llgtr %r2,%r2 # char *
543 jg sys_setdomainname # branch to system call
545 .globl sys32_newuname_wrapper
546 sys32_newuname_wrapper:
547 llgtr %r2,%r2 # struct new_utsname *
548 jg s390x_newuname # branch to system call
550 .globl sys32_adjtimex_wrapper
551 sys32_adjtimex_wrapper:
552 llgtr %r2,%r2 # struct timex_emu31 *
553 jg sys32_adjtimex # branch to system call
555 .globl sys32_mprotect_wrapper
556 sys32_mprotect_wrapper:
557 llgtr %r2,%r2 # unsigned long (actually pointer
558 llgfr %r3,%r3 # size_t
559 llgfr %r4,%r4 # unsigned long
560 jg sys_mprotect # branch to system call
562 .globl compat_sys_sigprocmask_wrapper
563 compat_sys_sigprocmask_wrapper:
565 llgtr %r3,%r3 # compat_old_sigset_t *
566 llgtr %r4,%r4 # compat_old_sigset_t *
567 jg compat_sys_sigprocmask # branch to system call
569 .globl sys32_init_module_wrapper
570 sys32_init_module_wrapper:
571 llgtr %r2,%r2 # void *
572 llgfr %r3,%r3 # unsigned long
573 llgtr %r4,%r4 # char *
574 jg sys32_init_module # branch to system call
576 .globl sys32_delete_module_wrapper
577 sys32_delete_module_wrapper:
578 llgtr %r2,%r2 # const char *
579 llgfr %r3,%r3 # unsigned int
580 jg sys32_delete_module # branch to system call
582 .globl sys32_quotactl_wrapper
583 sys32_quotactl_wrapper:
584 llgfr %r2,%r2 # unsigned int
585 llgtr %r3,%r3 # const char *
586 llgfr %r4,%r4 # qid_t
587 llgtr %r5,%r5 # caddr_t
588 jg sys_quotactl # branch to system call
590 .globl sys32_getpgid_wrapper
591 sys32_getpgid_wrapper:
593 jg sys_getpgid # branch to system call
595 .globl sys32_fchdir_wrapper
596 sys32_fchdir_wrapper:
597 llgfr %r2,%r2 # unsigned int
598 jg sys_fchdir # branch to system call
600 .globl sys32_bdflush_wrapper
601 sys32_bdflush_wrapper:
604 jg sys_bdflush # branch to system call
606 .globl sys32_sysfs_wrapper
609 llgfr %r3,%r3 # unsigned long
610 llgfr %r4,%r4 # unsigned long
611 jg sys_sysfs # branch to system call
613 .globl sys32_personality_wrapper
614 sys32_personality_wrapper:
615 llgfr %r2,%r2 # unsigned long
616 jg s390x_personality # branch to system call
618 .globl sys32_setfsuid16_wrapper
619 sys32_setfsuid16_wrapper:
620 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
621 jg sys32_setfsuid16 # branch to system call
623 .globl sys32_setfsgid16_wrapper
624 sys32_setfsgid16_wrapper:
625 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
626 jg sys32_setfsgid16 # branch to system call
628 .globl sys32_llseek_wrapper
629 sys32_llseek_wrapper:
630 llgfr %r2,%r2 # unsigned int
631 llgfr %r3,%r3 # unsigned long
632 llgfr %r4,%r4 # unsigned long
633 llgtr %r5,%r5 # loff_t *
634 llgfr %r6,%r6 # unsigned int
635 jg sys_llseek # branch to system call
637 .globl sys32_getdents_wrapper
638 sys32_getdents_wrapper:
639 llgfr %r2,%r2 # unsigned int
640 llgtr %r3,%r3 # void *
641 llgfr %r4,%r4 # unsigned int
642 jg compat_sys_getdents # branch to system call
644 .globl compat_sys_select_wrapper
645 compat_sys_select_wrapper:
647 llgtr %r3,%r3 # compat_fd_set *
648 llgtr %r4,%r4 # compat_fd_set *
649 llgtr %r5,%r5 # compat_fd_set *
650 llgtr %r6,%r6 # struct compat_timeval *
651 jg compat_sys_select # branch to system call
653 .globl sys32_flock_wrapper
655 llgfr %r2,%r2 # unsigned int
656 llgfr %r3,%r3 # unsigned int
657 jg sys_flock # branch to system call
659 .globl sys32_msync_wrapper
661 llgfr %r2,%r2 # unsigned long
662 llgfr %r3,%r3 # size_t
664 jg sys_msync # branch to system call
666 .globl compat_sys_readv_wrapper
667 compat_sys_readv_wrapper:
669 llgtr %r3,%r3 # const struct compat_iovec *
670 llgfr %r4,%r4 # unsigned long
671 jg compat_sys_readv # branch to system call
673 .globl compat_sys_writev_wrapper
674 compat_sys_writev_wrapper:
676 llgtr %r3,%r3 # const struct compat_iovec *
677 llgfr %r4,%r4 # unsigned long
678 jg compat_sys_writev # branch to system call
680 .globl sys32_getsid_wrapper
681 sys32_getsid_wrapper:
683 jg sys_getsid # branch to system call
685 .globl sys32_fdatasync_wrapper
686 sys32_fdatasync_wrapper:
687 llgfr %r2,%r2 # unsigned int
688 jg sys_fdatasync # branch to system call
690 #sys32_sysctl_wrapper # tbd
692 .globl sys32_mlock_wrapper
694 llgfr %r2,%r2 # unsigned long
695 llgfr %r3,%r3 # size_t
696 jg sys_mlock # branch to system call
698 .globl sys32_munlock_wrapper
699 sys32_munlock_wrapper:
700 llgfr %r2,%r2 # unsigned long
701 llgfr %r3,%r3 # size_t
702 jg sys_munlock # branch to system call
704 .globl sys32_mlockall_wrapper
705 sys32_mlockall_wrapper:
707 jg sys_mlockall # branch to system call
709 #sys32_munlockall_wrapper # void
711 .globl sys32_sched_setparam_wrapper
712 sys32_sched_setparam_wrapper:
714 llgtr %r3,%r3 # struct sched_param *
715 jg sys_sched_setparam # branch to system call
717 .globl sys32_sched_getparam_wrapper
718 sys32_sched_getparam_wrapper:
720 llgtr %r3,%r3 # struct sched_param *
721 jg sys_sched_getparam # branch to system call
723 .globl sys32_sched_setscheduler_wrapper
724 sys32_sched_setscheduler_wrapper:
727 llgtr %r4,%r4 # struct sched_param *
728 jg sys_sched_setscheduler # branch to system call
730 .globl sys32_sched_getscheduler_wrapper
731 sys32_sched_getscheduler_wrapper:
733 jg sys_sched_getscheduler # branch to system call
735 #sys32_sched_yield_wrapper # void
737 .globl sys32_sched_get_priority_max_wrapper
738 sys32_sched_get_priority_max_wrapper:
740 jg sys_sched_get_priority_max # branch to system call
742 .globl sys32_sched_get_priority_min_wrapper
743 sys32_sched_get_priority_min_wrapper:
745 jg sys_sched_get_priority_min # branch to system call
747 .globl sys32_sched_rr_get_interval_wrapper
748 sys32_sched_rr_get_interval_wrapper:
750 llgtr %r3,%r3 # struct compat_timespec *
751 jg sys32_sched_rr_get_interval # branch to system call
753 .globl compat_sys_nanosleep_wrapper
754 compat_sys_nanosleep_wrapper:
755 llgtr %r2,%r2 # struct compat_timespec *
756 llgtr %r3,%r3 # struct compat_timespec *
757 jg compat_sys_nanosleep # branch to system call
759 .globl sys32_mremap_wrapper
760 sys32_mremap_wrapper:
761 llgfr %r2,%r2 # unsigned long
762 llgfr %r3,%r3 # unsigned long
763 llgfr %r4,%r4 # unsigned long
764 llgfr %r5,%r5 # unsigned long
765 llgfr %r6,%r6 # unsigned long
766 jg sys_mremap # branch to system call
768 .globl sys32_setresuid16_wrapper
769 sys32_setresuid16_wrapper:
770 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
771 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
772 llgfr %r4,%r4 # __kernel_old_uid_emu31_t
773 jg sys32_setresuid16 # branch to system call
775 .globl sys32_getresuid16_wrapper
776 sys32_getresuid16_wrapper:
777 llgtr %r2,%r2 # __kernel_old_uid_emu31_t *
778 llgtr %r3,%r3 # __kernel_old_uid_emu31_t *
779 llgtr %r4,%r4 # __kernel_old_uid_emu31_t *
780 jg sys32_getresuid16 # branch to system call
782 .globl sys32_poll_wrapper
784 llgtr %r2,%r2 # struct pollfd *
785 llgfr %r3,%r3 # unsigned int
787 jg sys_poll # branch to system call
789 .globl compat_sys_nfsservctl_wrapper
790 compat_sys_nfsservctl_wrapper:
792 llgtr %r3,%r3 # struct compat_nfsctl_arg*
793 llgtr %r4,%r4 # union compat_nfsctl_res*
794 jg compat_sys_nfsservctl # branch to system call
796 .globl sys32_setresgid16_wrapper
797 sys32_setresgid16_wrapper:
798 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
799 llgfr %r3,%r3 # __kernel_old_gid_emu31_t
800 llgfr %r4,%r4 # __kernel_old_gid_emu31_t
801 jg sys32_setresgid16 # branch to system call
803 .globl sys32_getresgid16_wrapper
804 sys32_getresgid16_wrapper:
805 llgtr %r2,%r2 # __kernel_old_gid_emu31_t *
806 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
807 llgtr %r4,%r4 # __kernel_old_gid_emu31_t *
808 jg sys32_getresgid16 # branch to system call
810 .globl sys32_prctl_wrapper
813 llgfr %r3,%r3 # unsigned long
814 llgfr %r4,%r4 # unsigned long
815 llgfr %r5,%r5 # unsigned long
816 llgfr %r6,%r6 # unsigned long
817 jg sys_prctl # branch to system call
819 #sys32_rt_sigreturn_wrapper # done in rt_sigreturn_glue
821 .globl sys32_rt_sigaction_wrapper
822 sys32_rt_sigaction_wrapper:
824 llgtr %r3,%r3 # const struct sigaction_emu31 *
825 llgtr %r4,%r4 # const struct sigaction_emu31 *
826 llgfr %r5,%r5 # size_t
827 jg sys32_rt_sigaction # branch to system call
829 .globl sys32_rt_sigprocmask_wrapper
830 sys32_rt_sigprocmask_wrapper:
832 llgtr %r3,%r3 # old_sigset_emu31 *
833 llgtr %r4,%r4 # old_sigset_emu31 *
834 llgfr %r5,%r5 # size_t
835 jg sys32_rt_sigprocmask # branch to system call
837 .globl sys32_rt_sigpending_wrapper
838 sys32_rt_sigpending_wrapper:
839 llgtr %r2,%r2 # sigset_emu31 *
840 llgfr %r3,%r3 # size_t
841 jg sys32_rt_sigpending # branch to system call
843 .globl compat_sys_rt_sigtimedwait_wrapper
844 compat_sys_rt_sigtimedwait_wrapper:
845 llgtr %r2,%r2 # const sigset_emu31_t *
846 llgtr %r3,%r3 # siginfo_emu31_t *
847 llgtr %r4,%r4 # const struct compat_timespec *
848 llgfr %r5,%r5 # size_t
849 jg compat_sys_rt_sigtimedwait # branch to system call
851 .globl sys32_rt_sigqueueinfo_wrapper
852 sys32_rt_sigqueueinfo_wrapper:
855 llgtr %r4,%r4 # siginfo_emu31_t *
856 jg sys32_rt_sigqueueinfo # branch to system call
858 #sys32_rt_sigsuspend_wrapper # done in rt_sigsuspend_glue
860 .globl sys32_pread64_wrapper
861 sys32_pread64_wrapper:
862 llgfr %r2,%r2 # unsigned int
863 llgtr %r3,%r3 # char *
864 llgfr %r4,%r4 # size_t
867 jg sys32_pread64 # branch to system call
869 .globl sys32_pwrite64_wrapper
870 sys32_pwrite64_wrapper:
871 llgfr %r2,%r2 # unsigned int
872 llgtr %r3,%r3 # const char *
873 llgfr %r4,%r4 # size_t
876 jg sys32_pwrite64 # branch to system call
878 .globl sys32_chown16_wrapper
879 sys32_chown16_wrapper:
880 llgtr %r2,%r2 # const char *
881 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
882 llgfr %r4,%r4 # __kernel_old_gid_emu31_t
883 jg sys32_chown16 # branch to system call
885 .globl sys32_getcwd_wrapper
886 sys32_getcwd_wrapper:
887 llgtr %r2,%r2 # char *
888 llgfr %r3,%r3 # unsigned long
889 jg sys_getcwd # branch to system call
891 .globl sys32_capget_wrapper
892 sys32_capget_wrapper:
893 llgtr %r2,%r2 # cap_user_header_t
894 llgtr %r3,%r3 # cap_user_data_t
895 jg sys_capget # branch to system call
897 .globl sys32_capset_wrapper
898 sys32_capset_wrapper:
899 llgtr %r2,%r2 # cap_user_header_t
900 llgtr %r3,%r3 # const cap_user_data_t
901 jg sys_capset # branch to system call
903 .globl sys32_sigaltstack_wrapper
904 sys32_sigaltstack_wrapper:
905 llgtr %r2,%r2 # const stack_emu31_t *
906 llgtr %r3,%r3 # stack_emu31_t *
909 .globl sys32_sendfile_wrapper
910 sys32_sendfile_wrapper:
913 llgtr %r4,%r4 # __kernel_off_emu31_t *
914 llgfr %r5,%r5 # size_t
915 jg sys32_sendfile # branch to system call
917 #sys32_vfork_wrapper # done in vfork_glue
919 .globl sys32_truncate64_wrapper
920 sys32_truncate64_wrapper:
921 llgtr %r2,%r2 # const char *
922 llgfr %r3,%r3 # unsigned long
923 llgfr %r4,%r4 # unsigned long
924 jg sys32_truncate64 # branch to system call
926 .globl sys32_ftruncate64_wrapper
927 sys32_ftruncate64_wrapper:
928 llgfr %r2,%r2 # unsigned int
929 llgfr %r3,%r3 # unsigned long
930 llgfr %r4,%r4 # unsigned long
931 jg sys32_ftruncate64 # branch to system call
933 .globl sys32_lchown_wrapper
934 sys32_lchown_wrapper:
935 llgtr %r2,%r2 # const char *
936 llgfr %r3,%r3 # uid_t
937 llgfr %r4,%r4 # gid_t
938 jg sys_lchown # branch to system call
940 #sys32_getuid_wrapper # void
941 #sys32_getgid_wrapper # void
942 #sys32_geteuid_wrapper # void
943 #sys32_getegid_wrapper # void
945 .globl sys32_setreuid_wrapper
946 sys32_setreuid_wrapper:
947 llgfr %r2,%r2 # uid_t
948 llgfr %r3,%r3 # uid_t
949 jg sys_setreuid # branch to system call
951 .globl sys32_setregid_wrapper
952 sys32_setregid_wrapper:
953 llgfr %r2,%r2 # gid_t
954 llgfr %r3,%r3 # gid_t
955 jg sys_setregid # branch to system call
957 .globl sys32_getgroups_wrapper
958 sys32_getgroups_wrapper:
960 llgtr %r3,%r3 # gid_t *
961 jg sys_getgroups # branch to system call
963 .globl sys32_setgroups_wrapper
964 sys32_setgroups_wrapper:
966 llgtr %r3,%r3 # gid_t *
967 jg sys_setgroups # branch to system call
969 .globl sys32_fchown_wrapper
970 sys32_fchown_wrapper:
971 llgfr %r2,%r2 # unsigned int
972 llgfr %r3,%r3 # uid_t
973 llgfr %r4,%r4 # gid_t
974 jg sys_fchown # branch to system call
976 .globl sys32_setresuid_wrapper
977 sys32_setresuid_wrapper:
978 llgfr %r2,%r2 # uid_t
979 llgfr %r3,%r3 # uid_t
980 llgfr %r4,%r4 # uid_t
981 jg sys_setresuid # branch to system call
983 .globl sys32_getresuid_wrapper
984 sys32_getresuid_wrapper:
985 llgtr %r2,%r2 # uid_t *
986 llgtr %r3,%r3 # uid_t *
987 llgtr %r4,%r4 # uid_t *
988 jg sys_getresuid # branch to system call
990 .globl sys32_setresgid_wrapper
991 sys32_setresgid_wrapper:
992 llgfr %r2,%r2 # gid_t
993 llgfr %r3,%r3 # gid_t
994 llgfr %r4,%r4 # gid_t
995 jg sys_setresgid # branch to system call
997 .globl sys32_getresgid_wrapper
998 sys32_getresgid_wrapper:
999 llgtr %r2,%r2 # gid_t *
1000 llgtr %r3,%r3 # gid_t *
1001 llgtr %r4,%r4 # gid_t *
1002 jg sys_getresgid # branch to system call
1004 .globl sys32_chown_wrapper
1005 sys32_chown_wrapper:
1006 llgtr %r2,%r2 # const char *
1007 llgfr %r3,%r3 # uid_t
1008 llgfr %r4,%r4 # gid_t
1009 jg sys_chown # branch to system call
1011 .globl sys32_setuid_wrapper
1012 sys32_setuid_wrapper:
1013 llgfr %r2,%r2 # uid_t
1014 jg sys_setuid # branch to system call
1016 .globl sys32_setgid_wrapper
1017 sys32_setgid_wrapper:
1018 llgfr %r2,%r2 # gid_t
1019 jg sys_setgid # branch to system call
1021 .globl sys32_setfsuid_wrapper
1022 sys32_setfsuid_wrapper:
1023 llgfr %r2,%r2 # uid_t
1024 jg sys_setfsuid # branch to system call
1026 .globl sys32_setfsgid_wrapper
1027 sys32_setfsgid_wrapper:
1028 llgfr %r2,%r2 # gid_t
1029 jg sys_setfsgid # branch to system call
1031 .globl sys32_pivot_root_wrapper
1032 sys32_pivot_root_wrapper:
1033 llgtr %r2,%r2 # const char *
1034 llgtr %r3,%r3 # const char *
1035 jg sys_pivot_root # branch to system call
1037 .globl sys32_mincore_wrapper
1038 sys32_mincore_wrapper:
1039 llgfr %r2,%r2 # unsigned long
1040 llgfr %r3,%r3 # size_t
1041 llgtr %r4,%r4 # unsigned char *
1042 jg sys_mincore # branch to system call
1044 .globl sys32_madvise_wrapper
1045 sys32_madvise_wrapper:
1046 llgfr %r2,%r2 # unsigned long
1047 llgfr %r3,%r3 # size_t
1049 jg sys_madvise # branch to system call
1051 .globl sys32_getdents64_wrapper
1052 sys32_getdents64_wrapper:
1053 llgfr %r2,%r2 # unsigned int
1054 llgtr %r3,%r3 # void *
1055 llgfr %r4,%r4 # unsigned int
1056 jg sys_getdents64 # branch to system call
1058 .globl compat_sys_fcntl64_wrapper
1059 compat_sys_fcntl64_wrapper:
1060 llgfr %r2,%r2 # unsigned int
1061 llgfr %r3,%r3 # unsigned int
1062 llgfr %r4,%r4 # unsigned long
1063 jg compat_sys_fcntl64 # branch to system call
1065 .globl sys32_stat64_wrapper
1066 sys32_stat64_wrapper:
1067 llgtr %r2,%r2 # char *
1068 llgtr %r3,%r3 # struct stat64 *
1069 jg sys32_stat64 # branch to system call
1071 .globl sys32_lstat64_wrapper
1072 sys32_lstat64_wrapper:
1073 llgtr %r2,%r2 # char *
1074 llgtr %r3,%r3 # struct stat64 *
1075 jg sys32_lstat64 # branch to system call
1077 .globl sys32_stime_wrapper
1078 sys32_stime_wrapper:
1079 llgtr %r2,%r2 # long *
1080 jg compat_sys_stime # branch to system call
1082 .globl sys32_sysctl_wrapper
1083 sys32_sysctl_wrapper:
1084 llgtr %r2,%r2 # struct __sysctl_args32 *
1087 .globl sys32_fstat64_wrapper
1088 sys32_fstat64_wrapper:
1089 llgfr %r2,%r2 # unsigned long
1090 llgtr %r3,%r3 # struct stat64 *
1091 jg sys32_fstat64 # branch to system call
1093 .globl compat_sys_futex_wrapper
1094 compat_sys_futex_wrapper:
1095 llgtr %r2,%r2 # u32 *
1098 llgtr %r5,%r5 # struct compat_timespec *
1099 llgtr %r6,%r6 # u32 *
1100 lgf %r0,164(%r15) # int
1102 jg compat_sys_futex # branch to system call
1104 .globl sys32_setxattr_wrapper
1105 sys32_setxattr_wrapper:
1106 llgtr %r2,%r2 # char *
1107 llgtr %r3,%r3 # char *
1108 llgtr %r4,%r4 # void *
1109 llgfr %r5,%r5 # size_t
1113 .globl sys32_lsetxattr_wrapper
1114 sys32_lsetxattr_wrapper:
1115 llgtr %r2,%r2 # char *
1116 llgtr %r3,%r3 # char *
1117 llgtr %r4,%r4 # void *
1118 llgfr %r5,%r5 # size_t
1122 .globl sys32_fsetxattr_wrapper
1123 sys32_fsetxattr_wrapper:
1125 llgtr %r3,%r3 # char *
1126 llgtr %r4,%r4 # void *
1127 llgfr %r5,%r5 # size_t
1131 .globl sys32_getxattr_wrapper
1132 sys32_getxattr_wrapper:
1133 llgtr %r2,%r2 # char *
1134 llgtr %r3,%r3 # char *
1135 llgtr %r4,%r4 # void *
1136 llgfr %r5,%r5 # size_t
1139 .globl sys32_lgetxattr_wrapper
1140 sys32_lgetxattr_wrapper:
1141 llgtr %r2,%r2 # char *
1142 llgtr %r3,%r3 # char *
1143 llgtr %r4,%r4 # void *
1144 llgfr %r5,%r5 # size_t
1147 .globl sys32_fgetxattr_wrapper
1148 sys32_fgetxattr_wrapper:
1150 llgtr %r3,%r3 # char *
1151 llgtr %r4,%r4 # void *
1152 llgfr %r5,%r5 # size_t
1155 .globl sys32_listxattr_wrapper
1156 sys32_listxattr_wrapper:
1157 llgtr %r2,%r2 # char *
1158 llgtr %r3,%r3 # char *
1159 llgfr %r4,%r4 # size_t
1162 .globl sys32_llistxattr_wrapper
1163 sys32_llistxattr_wrapper:
1164 llgtr %r2,%r2 # char *
1165 llgtr %r3,%r3 # char *
1166 llgfr %r4,%r4 # size_t
1169 .globl sys32_flistxattr_wrapper
1170 sys32_flistxattr_wrapper:
1172 llgtr %r3,%r3 # char *
1173 llgfr %r4,%r4 # size_t
1176 .globl sys32_removexattr_wrapper
1177 sys32_removexattr_wrapper:
1178 llgtr %r2,%r2 # char *
1179 llgtr %r3,%r3 # char *
1182 .globl sys32_lremovexattr_wrapper
1183 sys32_lremovexattr_wrapper:
1184 llgtr %r2,%r2 # char *
1185 llgtr %r3,%r3 # char *
1188 .globl sys32_fremovexattr_wrapper
1189 sys32_fremovexattr_wrapper:
1191 llgtr %r3,%r3 # char *
1194 .globl sys32_sched_setaffinity_wrapper
1195 sys32_sched_setaffinity_wrapper:
1197 llgfr %r3,%r3 # unsigned int
1198 llgtr %r4,%r4 # unsigned long *
1199 jg compat_sys_sched_setaffinity
1201 .globl sys32_sched_getaffinity_wrapper
1202 sys32_sched_getaffinity_wrapper:
1204 llgfr %r3,%r3 # unsigned int
1205 llgtr %r4,%r4 # unsigned long *
1206 jg compat_sys_sched_getaffinity
1208 .globl sys32_exit_group_wrapper
1209 sys32_exit_group_wrapper:
1211 jg sys_exit_group # branch to system call
1213 .globl sys32_set_tid_address_wrapper
1214 sys32_set_tid_address_wrapper:
1215 llgtr %r2,%r2 # int *
1216 jg sys_set_tid_address # branch to system call
1218 .globl sys_epoll_create_wrapper
1219 sys_epoll_create_wrapper:
1221 jg sys_epoll_create # branch to system call
1223 .globl sys_epoll_ctl_wrapper
1224 sys_epoll_ctl_wrapper:
1228 llgtr %r5,%r5 # struct epoll_event *
1229 jg sys_epoll_ctl # branch to system call
1231 .globl sys_epoll_wait_wrapper
1232 sys_epoll_wait_wrapper:
1234 llgtr %r3,%r3 # struct epoll_event *
1237 jg sys_epoll_wait # branch to system call
1239 .globl sys32_lookup_dcookie_wrapper
1240 sys32_lookup_dcookie_wrapper:
1241 sllg %r2,%r2,32 # get high word of 64bit dcookie
1242 or %r2,%r3 # get low word of 64bit dcookie
1243 llgtr %r3,%r4 # char *
1244 llgfr %r4,%r5 # size_t
1245 jg sys_lookup_dcookie
1247 .globl sys32_fadvise64_wrapper
1248 sys32_fadvise64_wrapper:
1250 sllg %r3,%r3,32 # get high word of 64bit loff_t
1251 or %r3,%r4 # get low word of 64bit loff_t
1252 llgfr %r4,%r5 # size_t (unsigned long)
1256 .globl sys32_fadvise64_64_wrapper
1257 sys32_fadvise64_64_wrapper:
1258 llgtr %r2,%r2 # struct fadvise64_64_args *
1259 jg s390_fadvise64_64
1261 .globl sys32_clock_settime_wrapper
1262 sys32_clock_settime_wrapper:
1263 lgfr %r2,%r2 # clockid_t (int)
1264 llgtr %r3,%r3 # struct compat_timespec *
1265 jg compat_sys_clock_settime
1267 .globl sys32_clock_gettime_wrapper
1268 sys32_clock_gettime_wrapper:
1269 lgfr %r2,%r2 # clockid_t (int)
1270 llgtr %r3,%r3 # struct compat_timespec *
1271 jg compat_sys_clock_gettime
1273 .globl sys32_clock_getres_wrapper
1274 sys32_clock_getres_wrapper:
1275 lgfr %r2,%r2 # clockid_t (int)
1276 llgtr %r3,%r3 # struct compat_timespec *
1277 jg compat_sys_clock_getres
1279 .globl sys32_clock_nanosleep_wrapper
1280 sys32_clock_nanosleep_wrapper:
1281 lgfr %r2,%r2 # clockid_t (int)
1283 llgtr %r4,%r4 # struct compat_timespec *
1284 llgtr %r5,%r5 # struct compat_timespec *
1285 jg compat_sys_clock_nanosleep
1287 .globl sys32_timer_create_wrapper
1288 sys32_timer_create_wrapper:
1289 lgfr %r2,%r2 # timer_t (int)
1290 llgtr %r3,%r3 # struct compat_sigevent *
1291 llgtr %r4,%r4 # timer_t *
1292 jg sys32_timer_create
1294 .globl sys32_timer_settime_wrapper
1295 sys32_timer_settime_wrapper:
1296 lgfr %r2,%r2 # timer_t (int)
1298 llgtr %r4,%r4 # struct compat_itimerspec *
1299 llgtr %r5,%r5 # struct compat_itimerspec *
1300 jg compat_sys_timer_settime
1302 .globl sys32_timer_gettime_wrapper
1303 sys32_timer_gettime_wrapper:
1304 lgfr %r2,%r2 # timer_t (int)
1305 llgtr %r3,%r3 # struct compat_itimerspec *
1306 jg compat_sys_timer_gettime
1308 .globl sys32_timer_getoverrun_wrapper
1309 sys32_timer_getoverrun_wrapper:
1310 lgfr %r2,%r2 # timer_t (int)
1311 jg sys_timer_getoverrun
1313 .globl sys32_timer_delete_wrapper
1314 sys32_timer_delete_wrapper:
1315 lgfr %r2,%r2 # timer_t (int)
1318 .globl sys32_io_setup_wrapper
1319 sys32_io_setup_wrapper:
1320 llgfr %r2,%r2 # unsigned int
1321 llgtr %r3,%r3 # u32 *
1322 jg compat_sys_io_setup
1324 .globl sys32_io_destroy_wrapper
1325 sys32_io_destroy_wrapper:
1326 llgfr %r2,%r2 # (aio_context_t) u32
1329 .globl sys32_io_getevents_wrapper
1330 sys32_io_getevents_wrapper:
1331 llgfr %r2,%r2 # (aio_context_t) u32
1334 llgtr %r5,%r5 # struct io_event *
1335 llgtr %r6,%r6 # struct compat_timespec *
1336 jg compat_sys_io_getevents
1338 .globl sys32_io_submit_wrapper
1339 sys32_io_submit_wrapper:
1340 llgfr %r2,%r2 # (aio_context_t) u32
1342 llgtr %r4,%r4 # struct iocb **
1343 jg compat_sys_io_submit
1345 .globl sys32_io_cancel_wrapper
1346 sys32_io_cancel_wrapper:
1347 llgfr %r2,%r2 # (aio_context_t) u32
1348 llgtr %r3,%r3 # struct iocb *
1349 llgtr %r4,%r4 # struct io_event *
1352 .globl compat_sys_statfs64_wrapper
1353 compat_sys_statfs64_wrapper:
1354 llgtr %r2,%r2 # const char *
1355 llgfr %r3,%r3 # compat_size_t
1356 llgtr %r4,%r4 # struct compat_statfs64 *
1357 jg compat_sys_statfs64
1359 .globl compat_sys_fstatfs64_wrapper
1360 compat_sys_fstatfs64_wrapper:
1361 llgfr %r2,%r2 # unsigned int fd
1362 llgfr %r3,%r3 # compat_size_t
1363 llgtr %r4,%r4 # struct compat_statfs64 *
1364 jg compat_sys_fstatfs64
1366 .globl compat_sys_mq_open_wrapper
1367 compat_sys_mq_open_wrapper:
1368 llgtr %r2,%r2 # const char *
1370 llgfr %r4,%r4 # mode_t
1371 llgtr %r5,%r5 # struct compat_mq_attr *
1372 jg compat_sys_mq_open
1374 .globl sys32_mq_unlink_wrapper
1375 sys32_mq_unlink_wrapper:
1376 llgtr %r2,%r2 # const char *
1379 .globl compat_sys_mq_timedsend_wrapper
1380 compat_sys_mq_timedsend_wrapper:
1381 lgfr %r2,%r2 # mqd_t
1382 llgtr %r3,%r3 # const char *
1383 llgfr %r4,%r4 # size_t
1384 llgfr %r5,%r5 # unsigned int
1385 llgtr %r6,%r6 # const struct compat_timespec *
1386 jg compat_sys_mq_timedsend
1388 .globl compat_sys_mq_timedreceive_wrapper
1389 compat_sys_mq_timedreceive_wrapper:
1390 lgfr %r2,%r2 # mqd_t
1391 llgtr %r3,%r3 # char *
1392 llgfr %r4,%r4 # size_t
1393 llgtr %r5,%r5 # unsigned int *
1394 llgtr %r6,%r6 # const struct compat_timespec *
1395 jg compat_sys_mq_timedreceive
1397 .globl compat_sys_mq_notify_wrapper
1398 compat_sys_mq_notify_wrapper:
1399 lgfr %r2,%r2 # mqd_t
1400 llgtr %r3,%r3 # struct compat_sigevent *
1401 jg compat_sys_mq_notify
1403 .globl compat_sys_mq_getsetattr_wrapper
1404 compat_sys_mq_getsetattr_wrapper:
1405 lgfr %r2,%r2 # mqd_t
1406 llgtr %r3,%r3 # struct compat_mq_attr *
1407 llgtr %r4,%r4 # struct compat_mq_attr *
1408 jg compat_sys_mq_getsetattr
1410 .globl compat_sys_add_key_wrapper
1411 compat_sys_add_key_wrapper:
1412 llgtr %r2,%r2 # const char *
1413 llgtr %r3,%r3 # const char *
1414 llgtr %r4,%r4 # const void *
1415 llgfr %r5,%r5 # size_t
1416 llgfr %r6,%r6 # (key_serial_t) u32
1419 .globl compat_sys_request_key_wrapper
1420 compat_sys_request_key_wrapper:
1421 llgtr %r2,%r2 # const char *
1422 llgtr %r3,%r3 # const char *
1423 llgtr %r4,%r4 # const void *
1424 llgfr %r5,%r5 # (key_serial_t) u32
1427 .globl sys32_remap_file_pages_wrapper
1428 sys32_remap_file_pages_wrapper:
1429 llgfr %r2,%r2 # unsigned long
1430 llgfr %r3,%r3 # unsigned long
1431 llgfr %r4,%r4 # unsigned long
1432 llgfr %r5,%r5 # unsigned long
1433 llgfr %r6,%r6 # unsigned long
1434 jg sys_remap_file_pages
1436 .globl compat_sys_waitid_wrapper
1437 compat_sys_waitid_wrapper:
1439 lgfr %r3,%r3 # pid_t
1440 llgtr %r4,%r4 # siginfo_emu31_t *
1442 llgtr %r6,%r6 # struct rusage_emu31 *
1443 jg compat_sys_waitid
1445 .globl compat_sys_kexec_load_wrapper
1446 compat_sys_kexec_load_wrapper:
1447 llgfr %r2,%r2 # unsigned long
1448 llgfr %r3,%r3 # unsigned long
1449 llgtr %r4,%r4 # struct kexec_segment *
1450 llgfr %r5,%r5 # unsigned long
1451 jg compat_sys_kexec_load