]> nv-tegra.nvidia Code Review - linux-2.6.git/blob - arch/s390/kernel/compat_wrapper.S
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[linux-2.6.git] / arch / s390 / kernel / compat_wrapper.S
1 /*
2 *  arch/s390/kernel/compat_wrapper.S
3 *    wrapper for 31 bit compatible system calls.
4 *
5 *    Copyright (C) IBM Corp. 2000,2006
6 *    Author(s): Gerhard Tonn (ton@de.ibm.com),
7 *               Thomas Spatzier (tspat@de.ibm.com)
8 */
9
10         .globl  sys32_exit_wrapper
11 sys32_exit_wrapper:
12         lgfr    %r2,%r2                 # int
13         jg      sys_exit                # branch to sys_exit
14
15         .globl  sys32_read_wrapper
16 sys32_read_wrapper:
17         llgfr   %r2,%r2                 # unsigned int
18         llgtr   %r3,%r3                 # char *
19         llgfr   %r4,%r4                 # size_t
20         jg      sys32_read              # branch to sys_read
21
22         .globl  sys32_write_wrapper
23 sys32_write_wrapper:
24         llgfr   %r2,%r2                 # unsigned int
25         llgtr   %r3,%r3                 # const char *
26         llgfr   %r4,%r4                 # size_t
27         jg      sys32_write             # branch to system call
28
29         .globl  sys32_open_wrapper
30 sys32_open_wrapper:
31         llgtr   %r2,%r2                 # const char *
32         lgfr    %r3,%r3                 # int
33         lgfr    %r4,%r4                 # int
34         jg      sys_open                # branch to system call
35
36         .globl  sys32_close_wrapper
37 sys32_close_wrapper:
38         llgfr   %r2,%r2                 # unsigned int
39         jg      sys_close               # branch to system call
40
41         .globl  sys32_creat_wrapper
42 sys32_creat_wrapper:
43         llgtr   %r2,%r2                 # const char *
44         lgfr    %r3,%r3                 # int
45         jg      sys_creat               # branch to system call
46
47         .globl  sys32_link_wrapper
48 sys32_link_wrapper:
49         llgtr   %r2,%r2                 # const char *
50         llgtr   %r3,%r3                 # const char *
51         jg      sys_link                # branch to system call
52
53         .globl  sys32_unlink_wrapper
54 sys32_unlink_wrapper:
55         llgtr   %r2,%r2                 # const char *
56         jg      sys_unlink              # branch to system call
57
58         .globl  sys32_chdir_wrapper
59 sys32_chdir_wrapper:
60         llgtr   %r2,%r2                 # const char *
61         jg      sys_chdir               # branch to system call
62
63         .globl  sys32_time_wrapper
64 sys32_time_wrapper:
65         llgtr   %r2,%r2                 # int *
66         jg      compat_sys_time         # branch to system call
67
68         .globl  sys32_mknod_wrapper
69 sys32_mknod_wrapper:
70         llgtr   %r2,%r2                 # const char *
71         lgfr    %r3,%r3                 # int
72         llgfr   %r4,%r4                 # dev
73         jg      sys_mknod               # branch to system call
74
75         .globl  sys32_chmod_wrapper
76 sys32_chmod_wrapper:
77         llgtr   %r2,%r2                 # const char *
78         llgfr   %r3,%r3                 # mode_t
79         jg      sys_chmod               # branch to system call
80
81         .globl  sys32_lchown16_wrapper
82 sys32_lchown16_wrapper:
83         llgtr   %r2,%r2                 # const char *
84         llgfr   %r3,%r3                 # __kernel_old_uid_emu31_t
85         llgfr   %r4,%r4                 # __kernel_old_uid_emu31_t
86         jg      sys32_lchown16          # branch to system call
87
88         .globl  sys32_lseek_wrapper
89 sys32_lseek_wrapper:
90         llgfr   %r2,%r2                 # unsigned int
91         lgfr    %r3,%r3                 # off_t
92         llgfr   %r4,%r4                 # unsigned int
93         jg      sys_lseek               # branch to system call
94
95 #sys32_getpid_wrapper                           # void
96
97         .globl  sys32_mount_wrapper
98 sys32_mount_wrapper:
99         llgtr   %r2,%r2                 # char *
100         llgtr   %r3,%r3                 # char *
101         llgtr   %r4,%r4                 # char *
102         llgfr   %r5,%r5                 # unsigned long
103         llgtr   %r6,%r6                 # void *
104         jg      compat_sys_mount        # branch to system call
105
106         .globl  sys32_oldumount_wrapper
107 sys32_oldumount_wrapper:
108         llgtr   %r2,%r2                 # char *
109         jg      sys_oldumount           # branch to system call
110
111         .globl  sys32_setuid16_wrapper
112 sys32_setuid16_wrapper:
113         llgfr   %r2,%r2                 # __kernel_old_uid_emu31_t
114         jg      sys32_setuid16          # branch to system call
115
116 #sys32_getuid16_wrapper                 # void
117
118         .globl  sys32_ptrace_wrapper
119 sys32_ptrace_wrapper:
120         lgfr    %r2,%r2                 # long
121         lgfr    %r3,%r3                 # long
122         llgtr   %r4,%r4                 # long
123         llgfr   %r5,%r5                 # long
124         jg      compat_sys_ptrace       # branch to system call
125
126         .globl  sys32_alarm_wrapper
127 sys32_alarm_wrapper:
128         llgfr   %r2,%r2                 # unsigned int
129         jg      sys_alarm               # branch to system call
130
131         .globl  compat_sys_utime_wrapper
132 compat_sys_utime_wrapper:
133         llgtr   %r2,%r2                 # char *
134         llgtr   %r3,%r3                 # struct compat_utimbuf *
135         jg      compat_sys_utime        # branch to system call
136
137         .globl  sys32_access_wrapper
138 sys32_access_wrapper:
139         llgtr   %r2,%r2                 # const char *
140         lgfr    %r3,%r3                 # int
141         jg      sys_access              # branch to system call
142
143         .globl  sys32_nice_wrapper
144 sys32_nice_wrapper:
145         lgfr    %r2,%r2                 # int
146         jg      sys_nice                # branch to system call
147
148 #sys32_sync_wrapper                     # void
149
150         .globl  sys32_kill_wrapper
151 sys32_kill_wrapper:
152         lgfr    %r2,%r2                 # int
153         lgfr    %r3,%r3                 # int
154         jg      sys_kill                # branch to system call
155
156         .globl  sys32_rename_wrapper
157 sys32_rename_wrapper:
158         llgtr   %r2,%r2                 # const char *
159         llgtr   %r3,%r3                 # const char *
160         jg      sys_rename              # branch to system call
161
162         .globl  sys32_mkdir_wrapper
163 sys32_mkdir_wrapper:
164         llgtr   %r2,%r2                 # const char *
165         lgfr    %r3,%r3                 # int
166         jg      sys_mkdir               # branch to system call
167
168         .globl  sys32_rmdir_wrapper
169 sys32_rmdir_wrapper:
170         llgtr   %r2,%r2                 # const char *
171         jg      sys_rmdir               # branch to system call
172
173         .globl  sys32_dup_wrapper
174 sys32_dup_wrapper:
175         llgfr   %r2,%r2                 # unsigned int
176         jg      sys_dup                 # branch to system call
177
178         .globl  sys32_pipe_wrapper
179 sys32_pipe_wrapper:
180         llgtr   %r2,%r2                 # u32 *
181         jg      sys_pipe                # branch to system call
182
183         .globl  compat_sys_times_wrapper
184 compat_sys_times_wrapper:
185         llgtr   %r2,%r2                 # struct compat_tms *
186         jg      compat_sys_times        # branch to system call
187
188         .globl  sys32_brk_wrapper
189 sys32_brk_wrapper:
190         llgtr   %r2,%r2                 # unsigned long
191         jg      sys_brk                 # branch to system call
192
193         .globl  sys32_setgid16_wrapper
194 sys32_setgid16_wrapper:
195         llgfr   %r2,%r2                 # __kernel_old_gid_emu31_t
196         jg      sys32_setgid16          # branch to system call
197
198 #sys32_getgid16_wrapper                 # void
199
200         .globl sys32_signal_wrapper
201 sys32_signal_wrapper:
202         lgfr    %r2,%r2                 # int
203         llgtr   %r3,%r3                 # __sighandler_t
204         jg      sys_signal
205
206 #sys32_geteuid16_wrapper                # void
207
208 #sys32_getegid16_wrapper                # void
209
210         .globl  sys32_acct_wrapper
211 sys32_acct_wrapper:
212         llgtr   %r2,%r2                 # char *
213         jg      sys_acct                # branch to system call
214
215         .globl  sys32_umount_wrapper
216 sys32_umount_wrapper:
217         llgtr   %r2,%r2                 # char *
218         lgfr    %r3,%r3                 # int
219         jg      sys_umount              # branch to system call
220
221         .globl  compat_sys_ioctl_wrapper
222 compat_sys_ioctl_wrapper:
223         llgfr   %r2,%r2                 # unsigned int
224         llgfr   %r3,%r3                 # unsigned int
225         llgfr   %r4,%r4                 # unsigned int
226         jg      compat_sys_ioctl        # branch to system call
227
228         .globl  compat_sys_fcntl_wrapper
229 compat_sys_fcntl_wrapper:
230         llgfr   %r2,%r2                 # unsigned int
231         llgfr   %r3,%r3                 # unsigned int
232         llgfr   %r4,%r4                 # unsigned long
233         jg      compat_sys_fcntl        # branch to system call
234
235         .globl  sys32_setpgid_wrapper
236 sys32_setpgid_wrapper:
237         lgfr    %r2,%r2                 # pid_t
238         lgfr    %r3,%r3                 # pid_t
239         jg      sys_setpgid             # branch to system call
240
241         .globl  sys32_umask_wrapper
242 sys32_umask_wrapper:
243         lgfr    %r2,%r2                 # int
244         jg      sys_umask               # branch to system call
245
246         .globl  sys32_chroot_wrapper
247 sys32_chroot_wrapper:
248         llgtr   %r2,%r2                 # char *
249         jg      sys_chroot              # branch to system call
250
251         .globl sys32_ustat_wrapper
252 sys32_ustat_wrapper:
253         llgfr   %r2,%r2                 # dev_t
254         llgtr   %r3,%r3                 # struct ustat *
255         jg      compat_sys_ustat
256
257         .globl  sys32_dup2_wrapper
258 sys32_dup2_wrapper:
259         llgfr   %r2,%r2                 # unsigned int
260         llgfr   %r3,%r3                 # unsigned int
261         jg      sys_dup2                # branch to system call
262
263 #sys32_getppid_wrapper                  # void
264
265 #sys32_getpgrp_wrapper                  # void
266
267 #sys32_setsid_wrapper                   # void
268
269         .globl  sys32_sigaction_wrapper
270 sys32_sigaction_wrapper:
271         lgfr    %r2,%r2                 # int
272         llgtr   %r3,%r3                 # const struct old_sigaction *
273         llgtr   %r4,%r4                 # struct old_sigaction32 *
274         jg      sys32_sigaction         # branch to system call
275
276         .globl  sys32_setreuid16_wrapper
277 sys32_setreuid16_wrapper:
278         llgfr   %r2,%r2                 # __kernel_old_uid_emu31_t
279         llgfr   %r3,%r3                 # __kernel_old_uid_emu31_t
280         jg      sys32_setreuid16        # branch to system call
281
282         .globl  sys32_setregid16_wrapper
283 sys32_setregid16_wrapper:
284         llgfr   %r2,%r2                 # __kernel_old_gid_emu31_t
285         llgfr   %r3,%r3                 # __kernel_old_gid_emu31_t
286         jg      sys32_setregid16        # branch to system call
287
288         .globl sys_sigsuspend_wrapper
289 sys_sigsuspend_wrapper:
290         lgfr    %r2,%r2                 # int
291         lgfr    %r3,%r3                 # int
292         llgfr   %r4,%r4                 # old_sigset_t
293         jg      sys_sigsuspend
294
295         .globl  compat_sys_sigpending_wrapper
296 compat_sys_sigpending_wrapper:
297         llgtr   %r2,%r2                 # compat_old_sigset_t *
298         jg      compat_sys_sigpending   # branch to system call
299
300         .globl  sys32_sethostname_wrapper
301 sys32_sethostname_wrapper:
302         llgtr   %r2,%r2                 # char *
303         lgfr    %r3,%r3                 # int
304         jg      sys_sethostname         # branch to system call
305
306         .globl  compat_sys_setrlimit_wrapper
307 compat_sys_setrlimit_wrapper:
308         llgfr   %r2,%r2                 # unsigned int
309         llgtr   %r3,%r3                 # struct rlimit_emu31 *
310         jg      compat_sys_setrlimit    # branch to system call
311
312         .globl  compat_sys_old_getrlimit_wrapper
313 compat_sys_old_getrlimit_wrapper:
314         llgfr   %r2,%r2                 # unsigned int
315         llgtr   %r3,%r3                 # struct rlimit_emu31 *
316         jg      compat_sys_old_getrlimit # branch to system call
317
318         .globl  compat_sys_getrlimit_wrapper
319 compat_sys_getrlimit_wrapper:
320         llgfr   %r2,%r2                 # unsigned int
321         llgtr   %r3,%r3                 # struct rlimit_emu31 *
322         jg      compat_sys_getrlimit    # branch to system call
323
324         .globl  sys32_mmap2_wrapper
325 sys32_mmap2_wrapper:
326         llgtr   %r2,%r2                 # struct mmap_arg_struct_emu31 *
327         jg      sys32_mmap2                     # branch to system call
328
329         .globl  compat_sys_getrusage_wrapper
330 compat_sys_getrusage_wrapper:
331         lgfr    %r2,%r2                 # int
332         llgtr   %r3,%r3                 # struct rusage_emu31 *
333         jg      compat_sys_getrusage    # branch to system call
334
335         .globl  compat_sys_gettimeofday_wrapper
336 compat_sys_gettimeofday_wrapper:
337         llgtr   %r2,%r2                 # struct timeval_emu31 *
338         llgtr   %r3,%r3                 # struct timezone *
339         jg      compat_sys_gettimeofday # branch to system call
340
341         .globl  compat_sys_settimeofday_wrapper
342 compat_sys_settimeofday_wrapper:
343         llgtr   %r2,%r2                 # struct timeval_emu31 *
344         llgtr   %r3,%r3                 # struct timezone *
345         jg      compat_sys_settimeofday # branch to system call
346
347         .globl  sys32_getgroups16_wrapper
348 sys32_getgroups16_wrapper:
349         lgfr    %r2,%r2                 # int
350         llgtr   %r3,%r3                 # __kernel_old_gid_emu31_t *
351         jg      sys32_getgroups16       # branch to system call
352
353         .globl  sys32_setgroups16_wrapper
354 sys32_setgroups16_wrapper:
355         lgfr    %r2,%r2                 # int
356         llgtr   %r3,%r3                 # __kernel_old_gid_emu31_t *
357         jg      sys32_setgroups16       # branch to system call
358
359         .globl  sys32_symlink_wrapper
360 sys32_symlink_wrapper:
361         llgtr   %r2,%r2                 # const char *
362         llgtr   %r3,%r3                 # const char *
363         jg      sys_symlink             # branch to system call
364
365         .globl  sys32_readlink_wrapper
366 sys32_readlink_wrapper:
367         llgtr   %r2,%r2                 # const char *
368         llgtr   %r3,%r3                 # char *
369         lgfr    %r4,%r4                 # int
370         jg      sys_readlink            # branch to system call
371
372         .globl  sys32_uselib_wrapper
373 sys32_uselib_wrapper:
374         llgtr   %r2,%r2                 # const char *
375         jg      sys_uselib              # branch to system call
376
377         .globl  sys32_swapon_wrapper
378 sys32_swapon_wrapper:
379         llgtr   %r2,%r2                 # const char *
380         lgfr    %r3,%r3                 # int
381         jg      sys_swapon              # branch to system call
382
383         .globl  sys32_reboot_wrapper
384 sys32_reboot_wrapper:
385         lgfr    %r2,%r2                 # int
386         lgfr    %r3,%r3                 # int
387         llgfr   %r4,%r4                 # unsigned int
388         llgtr   %r5,%r5                 # void *
389         jg      sys_reboot              # branch to system call
390
391         .globl  old32_readdir_wrapper
392 old32_readdir_wrapper:
393         llgfr   %r2,%r2                 # unsigned int
394         llgtr   %r3,%r3                 # void *
395         llgfr   %r4,%r4                 # unsigned int
396         jg      compat_sys_old_readdir  # branch to system call
397
398         .globl  old32_mmap_wrapper
399 old32_mmap_wrapper:
400         llgtr   %r2,%r2                 # struct mmap_arg_struct_emu31 *
401         jg      old32_mmap              # branch to system call
402
403         .globl  sys32_munmap_wrapper
404 sys32_munmap_wrapper:
405         llgfr   %r2,%r2                 # unsigned long
406         llgfr   %r3,%r3                 # size_t
407         jg      sys_munmap              # branch to system call
408
409         .globl  sys32_truncate_wrapper
410 sys32_truncate_wrapper:
411         llgtr   %r2,%r2                 # const char *
412         lgfr    %r3,%r3                 # long
413         jg      sys_truncate            # branch to system call
414
415         .globl  sys32_ftruncate_wrapper
416 sys32_ftruncate_wrapper:
417         llgfr   %r2,%r2                 # unsigned int
418         llgfr   %r3,%r3                 # unsigned long
419         jg      sys_ftruncate           # branch to system call
420
421         .globl  sys32_fchmod_wrapper
422 sys32_fchmod_wrapper:
423         llgfr   %r2,%r2                 # unsigned int
424         llgfr   %r3,%r3                 # mode_t
425         jg      sys_fchmod              # branch to system call
426
427         .globl  sys32_fchown16_wrapper
428 sys32_fchown16_wrapper:
429         llgfr   %r2,%r2                 # unsigned int
430         llgfr   %r3,%r3                 # compat_uid_t
431         llgfr   %r4,%r4                 # compat_uid_t
432         jg      sys32_fchown16          # branch to system call
433
434         .globl  sys32_getpriority_wrapper
435 sys32_getpriority_wrapper:
436         lgfr    %r2,%r2                 # int
437         lgfr    %r3,%r3                 # int
438         jg      sys_getpriority         # branch to system call
439
440         .globl  sys32_setpriority_wrapper
441 sys32_setpriority_wrapper:
442         lgfr    %r2,%r2                 # int
443         lgfr    %r3,%r3                 # int
444         lgfr    %r4,%r4                 # int
445         jg      sys_setpriority         # branch to system call
446
447         .globl  compat_sys_statfs_wrapper
448 compat_sys_statfs_wrapper:
449         llgtr   %r2,%r2                 # char *
450         llgtr   %r3,%r3                 # struct compat_statfs *
451         jg      compat_sys_statfs       # branch to system call
452
453         .globl  compat_sys_fstatfs_wrapper
454 compat_sys_fstatfs_wrapper:
455         llgfr   %r2,%r2                 # unsigned int
456         llgtr   %r3,%r3                 # struct compat_statfs *
457         jg      compat_sys_fstatfs      # branch to system call
458
459         .globl  compat_sys_socketcall_wrapper
460 compat_sys_socketcall_wrapper:
461         lgfr    %r2,%r2                 # int
462         llgtr   %r3,%r3                 # u32 *
463         jg      compat_sys_socketcall   # branch to system call
464
465         .globl  sys32_syslog_wrapper
466 sys32_syslog_wrapper:
467         lgfr    %r2,%r2                 # int
468         llgtr   %r3,%r3                 # char *
469         lgfr    %r4,%r4                 # int
470         jg      sys_syslog              # branch to system call
471
472         .globl  compat_sys_setitimer_wrapper
473 compat_sys_setitimer_wrapper:
474         lgfr    %r2,%r2                 # int
475         llgtr   %r3,%r3                 # struct itimerval_emu31 *
476         llgtr   %r4,%r4                 # struct itimerval_emu31 *
477         jg      compat_sys_setitimer    # branch to system call
478
479         .globl  compat_sys_getitimer_wrapper
480 compat_sys_getitimer_wrapper:
481         lgfr    %r2,%r2                 # int
482         llgtr   %r3,%r3                 # struct itimerval_emu31 *
483         jg      compat_sys_getitimer    # branch to system call
484
485         .globl  compat_sys_newstat_wrapper
486 compat_sys_newstat_wrapper:
487         llgtr   %r2,%r2                 # char *
488         llgtr   %r3,%r3                 # struct stat_emu31 *
489         jg      compat_sys_newstat      # branch to system call
490
491         .globl  compat_sys_newlstat_wrapper
492 compat_sys_newlstat_wrapper:
493         llgtr   %r2,%r2                 # char *
494         llgtr   %r3,%r3                 # struct stat_emu31 *
495         jg      compat_sys_newlstat     # branch to system call
496
497         .globl  compat_sys_newfstat_wrapper
498 compat_sys_newfstat_wrapper:
499         llgfr   %r2,%r2                 # unsigned int
500         llgtr   %r3,%r3                 # struct stat_emu31 *
501         jg      compat_sys_newfstat     # branch to system call
502
503 #sys32_vhangup_wrapper                  # void
504
505         .globl  compat_sys_wait4_wrapper
506 compat_sys_wait4_wrapper:
507         lgfr    %r2,%r2                 # pid_t
508         llgtr   %r3,%r3                 # unsigned int *
509         lgfr    %r4,%r4                 # int
510         llgtr   %r5,%r5                 # struct rusage *
511         jg      compat_sys_wait4        # branch to system call
512
513         .globl  sys32_swapoff_wrapper
514 sys32_swapoff_wrapper:
515         llgtr   %r2,%r2                 # const char *
516         jg      sys_swapoff             # branch to system call
517
518         .globl  compat_sys_sysinfo_wrapper
519 compat_sys_sysinfo_wrapper:
520         llgtr   %r2,%r2                 # struct sysinfo_emu31 *
521         jg      compat_sys_sysinfo      # branch to system call
522
523         .globl  sys32_ipc_wrapper
524 sys32_ipc_wrapper:
525         llgfr   %r2,%r2                 # uint
526         lgfr    %r3,%r3                 # int
527         lgfr    %r4,%r4                 # int
528         lgfr    %r5,%r5                 # int
529         llgfr   %r6,%r6                 # u32
530         jg      sys32_ipc               # branch to system call
531
532         .globl  sys32_fsync_wrapper
533 sys32_fsync_wrapper:
534         llgfr   %r2,%r2                 # unsigned int
535         jg      sys_fsync               # branch to system call
536
537 #sys32_sigreturn_wrapper                # done in sigreturn_glue
538
539 #sys32_clone_wrapper                    # done in clone_glue
540
541         .globl  sys32_setdomainname_wrapper
542 sys32_setdomainname_wrapper:
543         llgtr   %r2,%r2                 # char *
544         lgfr    %r3,%r3                 # int
545         jg      sys_setdomainname       # branch to system call
546
547         .globl  sys32_newuname_wrapper
548 sys32_newuname_wrapper:
549         llgtr   %r2,%r2                 # struct new_utsname *
550         jg      sys_s390_newuname       # branch to system call
551
552         .globl  compat_sys_adjtimex_wrapper
553 compat_sys_adjtimex_wrapper:
554         llgtr   %r2,%r2                 # struct compat_timex *
555         jg      compat_sys_adjtimex     # branch to system call
556
557         .globl  sys32_mprotect_wrapper
558 sys32_mprotect_wrapper:
559         llgtr   %r2,%r2                 # unsigned long (actually pointer
560         llgfr   %r3,%r3                 # size_t
561         llgfr   %r4,%r4                 # unsigned long
562         jg      sys_mprotect            # branch to system call
563
564         .globl  compat_sys_sigprocmask_wrapper
565 compat_sys_sigprocmask_wrapper:
566         lgfr    %r2,%r2                 # int
567         llgtr   %r3,%r3                 # compat_old_sigset_t *
568         llgtr   %r4,%r4                 # compat_old_sigset_t *
569         jg      compat_sys_sigprocmask          # branch to system call
570
571         .globl  sys_init_module_wrapper
572 sys_init_module_wrapper:
573         llgtr   %r2,%r2                 # void *
574         llgfr   %r3,%r3                 # unsigned long
575         llgtr   %r4,%r4                 # char *
576         jg      sys_init_module         # branch to system call
577
578         .globl  sys_delete_module_wrapper
579 sys_delete_module_wrapper:
580         llgtr   %r2,%r2                 # const char *
581         llgfr   %r3,%r3                 # unsigned int
582         jg      sys_delete_module       # branch to system call
583
584         .globl  sys32_quotactl_wrapper
585 sys32_quotactl_wrapper:
586         llgfr   %r2,%r2                 # unsigned int
587         llgtr   %r3,%r3                 # const char *
588         llgfr   %r4,%r4                 # qid_t
589         llgtr   %r5,%r5                 # caddr_t
590         jg      sys_quotactl            # branch to system call
591
592         .globl  sys32_getpgid_wrapper
593 sys32_getpgid_wrapper:
594         lgfr    %r2,%r2                 # pid_t
595         jg      sys_getpgid             # branch to system call
596
597         .globl  sys32_fchdir_wrapper
598 sys32_fchdir_wrapper:
599         llgfr   %r2,%r2                 # unsigned int
600         jg      sys_fchdir              # branch to system call
601
602         .globl  sys32_bdflush_wrapper
603 sys32_bdflush_wrapper:
604         lgfr    %r2,%r2                 # int
605         lgfr    %r3,%r3                 # long
606         jg      sys_bdflush             # branch to system call
607
608         .globl  sys32_sysfs_wrapper
609 sys32_sysfs_wrapper:
610         lgfr    %r2,%r2                 # int
611         llgfr   %r3,%r3                 # unsigned long
612         llgfr   %r4,%r4                 # unsigned long
613         jg      sys_sysfs               # branch to system call
614
615         .globl  sys32_personality_wrapper
616 sys32_personality_wrapper:
617         llgfr   %r2,%r2                 # unsigned long
618         jg      sys_s390_personality    # branch to system call
619
620         .globl  sys32_setfsuid16_wrapper
621 sys32_setfsuid16_wrapper:
622         llgfr   %r2,%r2                 # __kernel_old_uid_emu31_t
623         jg      sys32_setfsuid16        # branch to system call
624
625         .globl  sys32_setfsgid16_wrapper
626 sys32_setfsgid16_wrapper:
627         llgfr   %r2,%r2                 # __kernel_old_gid_emu31_t
628         jg      sys32_setfsgid16        # branch to system call
629
630         .globl  sys32_llseek_wrapper
631 sys32_llseek_wrapper:
632         llgfr   %r2,%r2                 # unsigned int
633         llgfr   %r3,%r3                 # unsigned long
634         llgfr   %r4,%r4                 # unsigned long
635         llgtr   %r5,%r5                 # loff_t *
636         llgfr   %r6,%r6                 # unsigned int
637         jg      sys_llseek              # branch to system call
638
639         .globl  sys32_getdents_wrapper
640 sys32_getdents_wrapper:
641         llgfr   %r2,%r2                 # unsigned int
642         llgtr   %r3,%r3                 # void *
643         llgfr   %r4,%r4                 # unsigned int
644         jg      compat_sys_getdents     # branch to system call
645
646         .globl  compat_sys_select_wrapper
647 compat_sys_select_wrapper:
648         lgfr    %r2,%r2                 # int
649         llgtr   %r3,%r3                 # compat_fd_set *
650         llgtr   %r4,%r4                 # compat_fd_set *
651         llgtr   %r5,%r5                 # compat_fd_set *
652         llgtr   %r6,%r6                 # struct compat_timeval *
653         jg      compat_sys_select       # branch to system call
654
655         .globl  sys32_flock_wrapper
656 sys32_flock_wrapper:
657         llgfr   %r2,%r2                 # unsigned int
658         llgfr   %r3,%r3                 # unsigned int
659         jg      sys_flock               # branch to system call
660
661         .globl  sys32_msync_wrapper
662 sys32_msync_wrapper:
663         llgfr   %r2,%r2                 # unsigned long
664         llgfr   %r3,%r3                 # size_t
665         lgfr    %r4,%r4                 # int
666         jg      sys_msync               # branch to system call
667
668         .globl  compat_sys_readv_wrapper
669 compat_sys_readv_wrapper:
670         lgfr    %r2,%r2                 # int
671         llgtr   %r3,%r3                 # const struct compat_iovec *
672         llgfr   %r4,%r4                 # unsigned long
673         jg      compat_sys_readv        # branch to system call
674
675         .globl  compat_sys_writev_wrapper
676 compat_sys_writev_wrapper:
677         lgfr    %r2,%r2                 # int
678         llgtr   %r3,%r3                 # const struct compat_iovec *
679         llgfr   %r4,%r4                 # unsigned long
680         jg      compat_sys_writev       # branch to system call
681
682         .globl  sys32_getsid_wrapper
683 sys32_getsid_wrapper:
684         lgfr    %r2,%r2                 # pid_t
685         jg      sys_getsid              # branch to system call
686
687         .globl  sys32_fdatasync_wrapper
688 sys32_fdatasync_wrapper:
689         llgfr   %r2,%r2                 # unsigned int
690         jg      sys_fdatasync           # branch to system call
691
692         .globl  sys32_mlock_wrapper
693 sys32_mlock_wrapper:
694         llgfr   %r2,%r2                 # unsigned long
695         llgfr   %r3,%r3                 # size_t
696         jg      sys_mlock               # branch to system call
697
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
703
704         .globl  sys32_mlockall_wrapper
705 sys32_mlockall_wrapper:
706         lgfr    %r2,%r2                 # int
707         jg      sys_mlockall            # branch to system call
708
709 #sys32_munlockall_wrapper               # void
710
711         .globl  sys32_sched_setparam_wrapper
712 sys32_sched_setparam_wrapper:
713         lgfr    %r2,%r2                 # pid_t
714         llgtr   %r3,%r3                 # struct sched_param *
715         jg      sys_sched_setparam      # branch to system call
716
717         .globl  sys32_sched_getparam_wrapper
718 sys32_sched_getparam_wrapper:
719         lgfr    %r2,%r2                 # pid_t
720         llgtr   %r3,%r3                 # struct sched_param *
721         jg      sys_sched_getparam      # branch to system call
722
723         .globl  sys32_sched_setscheduler_wrapper
724 sys32_sched_setscheduler_wrapper:
725         lgfr    %r2,%r2                 # pid_t
726         lgfr    %r3,%r3                 # int
727         llgtr   %r4,%r4                 # struct sched_param *
728         jg      sys_sched_setscheduler  # branch to system call
729
730         .globl  sys32_sched_getscheduler_wrapper
731 sys32_sched_getscheduler_wrapper:
732         lgfr    %r2,%r2                 # pid_t
733         jg      sys_sched_getscheduler  # branch to system call
734
735 #sys32_sched_yield_wrapper              # void
736
737         .globl  sys32_sched_get_priority_max_wrapper
738 sys32_sched_get_priority_max_wrapper:
739         lgfr    %r2,%r2                 # int
740         jg      sys_sched_get_priority_max      # branch to system call
741
742         .globl  sys32_sched_get_priority_min_wrapper
743 sys32_sched_get_priority_min_wrapper:
744         lgfr    %r2,%r2                 # int
745         jg      sys_sched_get_priority_min      # branch to system call
746
747         .globl  sys32_sched_rr_get_interval_wrapper
748 sys32_sched_rr_get_interval_wrapper:
749         lgfr    %r2,%r2                 # pid_t
750         llgtr   %r3,%r3                 # struct compat_timespec *
751         jg      sys32_sched_rr_get_interval     # branch to system call
752
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
758
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
767
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
774
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
781
782         .globl  sys32_poll_wrapper
783 sys32_poll_wrapper:
784         llgtr   %r2,%r2                 # struct pollfd *
785         llgfr   %r3,%r3                 # unsigned int
786         lgfr    %r4,%r4                 # long
787         jg      sys_poll                # branch to system call
788
789         .globl  compat_sys_nfsservctl_wrapper
790 compat_sys_nfsservctl_wrapper:
791         lgfr    %r2,%r2                 # int
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
795
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
802
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
809
810         .globl  sys32_prctl_wrapper
811 sys32_prctl_wrapper:
812         lgfr    %r2,%r2                 # int
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
818
819 #sys32_rt_sigreturn_wrapper             # done in rt_sigreturn_glue
820
821         .globl  sys32_rt_sigaction_wrapper
822 sys32_rt_sigaction_wrapper:
823         lgfr    %r2,%r2                 # int
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
828
829         .globl  sys32_rt_sigprocmask_wrapper
830 sys32_rt_sigprocmask_wrapper:
831         lgfr    %r2,%r2                 # int
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
836
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
842
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
850
851         .globl  sys32_rt_sigqueueinfo_wrapper
852 sys32_rt_sigqueueinfo_wrapper:
853         lgfr    %r2,%r2                 # int
854         lgfr    %r3,%r3                 # int
855         llgtr   %r4,%r4                 # siginfo_emu31_t *
856         jg      sys32_rt_sigqueueinfo   # branch to system call
857
858         .globl compat_sys_rt_sigsuspend_wrapper
859 compat_sys_rt_sigsuspend_wrapper:
860         llgtr   %r2,%r2                 # compat_sigset_t *
861         llgfr   %r3,%r3                 # compat_size_t
862         jg      compat_sys_rt_sigsuspend
863
864         .globl  sys32_pread64_wrapper
865 sys32_pread64_wrapper:
866         llgfr   %r2,%r2                 # unsigned int
867         llgtr   %r3,%r3                 # char *
868         llgfr   %r4,%r4                 # size_t
869         llgfr   %r5,%r5                 # u32
870         llgfr   %r6,%r6                 # u32
871         jg      sys32_pread64           # branch to system call
872
873         .globl  sys32_pwrite64_wrapper
874 sys32_pwrite64_wrapper:
875         llgfr   %r2,%r2                 # unsigned int
876         llgtr   %r3,%r3                 # const char *
877         llgfr   %r4,%r4                 # size_t
878         llgfr   %r5,%r5                 # u32
879         llgfr   %r6,%r6                 # u32
880         jg      sys32_pwrite64          # branch to system call
881
882         .globl  sys32_chown16_wrapper
883 sys32_chown16_wrapper:
884         llgtr   %r2,%r2                 # const char *
885         llgfr   %r3,%r3                 # __kernel_old_uid_emu31_t
886         llgfr   %r4,%r4                 # __kernel_old_gid_emu31_t
887         jg      sys32_chown16           # branch to system call
888
889         .globl  sys32_getcwd_wrapper
890 sys32_getcwd_wrapper:
891         llgtr   %r2,%r2                 # char *
892         llgfr   %r3,%r3                 # unsigned long
893         jg      sys_getcwd              # branch to system call
894
895         .globl  sys32_capget_wrapper
896 sys32_capget_wrapper:
897         llgtr   %r2,%r2                 # cap_user_header_t
898         llgtr   %r3,%r3                 # cap_user_data_t
899         jg      sys_capget              # branch to system call
900
901         .globl  sys32_capset_wrapper
902 sys32_capset_wrapper:
903         llgtr   %r2,%r2                 # cap_user_header_t
904         llgtr   %r3,%r3                 # const cap_user_data_t
905         jg      sys_capset              # branch to system call
906
907         .globl sys32_sigaltstack_wrapper
908 sys32_sigaltstack_wrapper:
909         llgtr   %r2,%r2                 # const stack_emu31_t *
910         llgtr   %r3,%r3                 # stack_emu31_t *
911         jg      sys32_sigaltstack
912
913         .globl  sys32_sendfile_wrapper
914 sys32_sendfile_wrapper:
915         lgfr    %r2,%r2                 # int
916         lgfr    %r3,%r3                 # int
917         llgtr   %r4,%r4                 # __kernel_off_emu31_t *
918         llgfr   %r5,%r5                 # size_t
919         jg      sys32_sendfile          # branch to system call
920
921 #sys32_vfork_wrapper                    # done in vfork_glue
922
923         .globl  sys32_truncate64_wrapper
924 sys32_truncate64_wrapper:
925         llgtr   %r2,%r2                 # const char *
926         llgfr   %r3,%r3                 # unsigned long
927         llgfr   %r4,%r4                 # unsigned long
928         jg      sys32_truncate64        # branch to system call
929
930         .globl  sys32_ftruncate64_wrapper
931 sys32_ftruncate64_wrapper:
932         llgfr   %r2,%r2                 # unsigned int
933         llgfr   %r3,%r3                 # unsigned long
934         llgfr   %r4,%r4                 # unsigned long
935         jg      sys32_ftruncate64       # branch to system call
936
937         .globl sys32_lchown_wrapper
938 sys32_lchown_wrapper:
939         llgtr   %r2,%r2                 # const char *
940         llgfr   %r3,%r3                 # uid_t
941         llgfr   %r4,%r4                 # gid_t
942         jg      sys_lchown              # branch to system call
943
944 #sys32_getuid_wrapper                   # void
945 #sys32_getgid_wrapper                   # void
946 #sys32_geteuid_wrapper                  # void
947 #sys32_getegid_wrapper                  # void
948
949         .globl sys32_setreuid_wrapper
950 sys32_setreuid_wrapper:
951         llgfr   %r2,%r2                 # uid_t
952         llgfr   %r3,%r3                 # uid_t
953         jg      sys_setreuid            # branch to system call
954
955         .globl sys32_setregid_wrapper
956 sys32_setregid_wrapper:
957         llgfr   %r2,%r2                 # gid_t
958         llgfr   %r3,%r3                 # gid_t
959         jg      sys_setregid            # branch to system call
960
961         .globl  sys32_getgroups_wrapper
962 sys32_getgroups_wrapper:
963         lgfr    %r2,%r2                 # int
964         llgtr   %r3,%r3                 # gid_t *
965         jg      sys_getgroups           # branch to system call
966
967         .globl  sys32_setgroups_wrapper
968 sys32_setgroups_wrapper:
969         lgfr    %r2,%r2                 # int
970         llgtr   %r3,%r3                 # gid_t *
971         jg      sys_setgroups           # branch to system call
972
973         .globl sys32_fchown_wrapper
974 sys32_fchown_wrapper:
975         llgfr   %r2,%r2                 # unsigned int
976         llgfr   %r3,%r3                 # uid_t
977         llgfr   %r4,%r4                 # gid_t
978         jg      sys_fchown              # branch to system call
979
980         .globl sys32_setresuid_wrapper
981 sys32_setresuid_wrapper:
982         llgfr   %r2,%r2                 # uid_t
983         llgfr   %r3,%r3                 # uid_t
984         llgfr   %r4,%r4                 # uid_t
985         jg      sys_setresuid           # branch to system call
986
987         .globl sys32_getresuid_wrapper
988 sys32_getresuid_wrapper:
989         llgtr   %r2,%r2                 # uid_t *
990         llgtr   %r3,%r3                 # uid_t *
991         llgtr   %r4,%r4                 # uid_t *
992         jg      sys_getresuid           # branch to system call
993
994         .globl sys32_setresgid_wrapper
995 sys32_setresgid_wrapper:
996         llgfr   %r2,%r2                 # gid_t
997         llgfr   %r3,%r3                 # gid_t
998         llgfr   %r4,%r4                 # gid_t
999         jg      sys_setresgid           # branch to system call
1000
1001         .globl sys32_getresgid_wrapper
1002 sys32_getresgid_wrapper:
1003         llgtr   %r2,%r2                 # gid_t *
1004         llgtr   %r3,%r3                 # gid_t *
1005         llgtr   %r4,%r4                 # gid_t *
1006         jg      sys_getresgid           # branch to system call
1007
1008         .globl sys32_chown_wrapper
1009 sys32_chown_wrapper:
1010         llgtr   %r2,%r2                 # const char *
1011         llgfr   %r3,%r3                 # uid_t
1012         llgfr   %r4,%r4                 # gid_t
1013         jg      sys_chown               # branch to system call
1014
1015         .globl sys32_setuid_wrapper
1016 sys32_setuid_wrapper:
1017         llgfr   %r2,%r2                 # uid_t
1018         jg      sys_setuid              # branch to system call
1019
1020         .globl sys32_setgid_wrapper
1021 sys32_setgid_wrapper:
1022         llgfr   %r2,%r2                 # gid_t
1023         jg      sys_setgid              # branch to system call
1024
1025         .globl sys32_setfsuid_wrapper
1026 sys32_setfsuid_wrapper:
1027         llgfr   %r2,%r2                 # uid_t
1028         jg      sys_setfsuid            # branch to system call
1029
1030         .globl sys32_setfsgid_wrapper
1031 sys32_setfsgid_wrapper:
1032         llgfr   %r2,%r2                 # gid_t
1033         jg      sys_setfsgid            # branch to system call
1034
1035         .globl  sys32_pivot_root_wrapper
1036 sys32_pivot_root_wrapper:
1037         llgtr   %r2,%r2                 # const char *
1038         llgtr   %r3,%r3                 # const char *
1039         jg      sys_pivot_root          # branch to system call
1040
1041         .globl  sys32_mincore_wrapper
1042 sys32_mincore_wrapper:
1043         llgfr   %r2,%r2                 # unsigned long
1044         llgfr   %r3,%r3                 # size_t
1045         llgtr   %r4,%r4                 # unsigned char *
1046         jg      sys_mincore             # branch to system call
1047
1048         .globl  sys32_madvise_wrapper
1049 sys32_madvise_wrapper:
1050         llgfr   %r2,%r2                 # unsigned long
1051         llgfr   %r3,%r3                 # size_t
1052         lgfr    %r4,%r4                 # int
1053         jg      sys_madvise             # branch to system call
1054
1055         .globl  sys32_getdents64_wrapper
1056 sys32_getdents64_wrapper:
1057         llgfr   %r2,%r2                 # unsigned int
1058         llgtr   %r3,%r3                 # void *
1059         llgfr   %r4,%r4                 # unsigned int
1060         jg      sys_getdents64          # branch to system call
1061
1062         .globl  compat_sys_fcntl64_wrapper
1063 compat_sys_fcntl64_wrapper:
1064         llgfr   %r2,%r2                 # unsigned int
1065         llgfr   %r3,%r3                 # unsigned int
1066         llgfr   %r4,%r4                 # unsigned long
1067         jg      compat_sys_fcntl64      # branch to system call
1068
1069         .globl  sys32_stat64_wrapper
1070 sys32_stat64_wrapper:
1071         llgtr   %r2,%r2                 # char *
1072         llgtr   %r3,%r3                 # struct stat64 *
1073         jg      sys32_stat64            # branch to system call
1074
1075         .globl  sys32_lstat64_wrapper
1076 sys32_lstat64_wrapper:
1077         llgtr   %r2,%r2                 # char *
1078         llgtr   %r3,%r3                 # struct stat64 *
1079         jg      sys32_lstat64           # branch to system call
1080
1081         .globl  sys32_stime_wrapper
1082 sys32_stime_wrapper:
1083         llgtr   %r2,%r2                 # long *
1084         jg      compat_sys_stime        # branch to system call
1085
1086         .globl  sys32_sysctl_wrapper
1087 sys32_sysctl_wrapper:
1088         llgtr   %r2,%r2                 # struct compat_sysctl_args *
1089         jg      compat_sys_sysctl
1090
1091         .globl  sys32_fstat64_wrapper
1092 sys32_fstat64_wrapper:
1093         llgfr   %r2,%r2                 # unsigned long
1094         llgtr   %r3,%r3                 # struct stat64 *
1095         jg      sys32_fstat64           # branch to system call
1096
1097         .globl  compat_sys_futex_wrapper
1098 compat_sys_futex_wrapper:
1099         llgtr   %r2,%r2                 # u32 *
1100         lgfr    %r3,%r3                 # int
1101         lgfr    %r4,%r4                 # int
1102         llgtr   %r5,%r5                 # struct compat_timespec *
1103         llgtr   %r6,%r6                 # u32 *
1104         lgf     %r0,164(%r15)           # int
1105         stg     %r0,160(%r15)
1106         jg      compat_sys_futex        # branch to system call
1107
1108         .globl  sys32_setxattr_wrapper
1109 sys32_setxattr_wrapper:
1110         llgtr   %r2,%r2                 # char *
1111         llgtr   %r3,%r3                 # char *
1112         llgtr   %r4,%r4                 # void *
1113         llgfr   %r5,%r5                 # size_t
1114         lgfr    %r6,%r6                 # int
1115         jg      sys_setxattr
1116
1117         .globl  sys32_lsetxattr_wrapper
1118 sys32_lsetxattr_wrapper:
1119         llgtr   %r2,%r2                 # char *
1120         llgtr   %r3,%r3                 # char *
1121         llgtr   %r4,%r4                 # void *
1122         llgfr   %r5,%r5                 # size_t
1123         lgfr    %r6,%r6                 # int
1124         jg      sys_lsetxattr
1125
1126         .globl  sys32_fsetxattr_wrapper
1127 sys32_fsetxattr_wrapper:
1128         lgfr    %r2,%r2                 # int
1129         llgtr   %r3,%r3                 # char *
1130         llgtr   %r4,%r4                 # void *
1131         llgfr   %r5,%r5                 # size_t
1132         lgfr    %r6,%r6                 # int
1133         jg      sys_fsetxattr
1134
1135         .globl  sys32_getxattr_wrapper
1136 sys32_getxattr_wrapper:
1137         llgtr   %r2,%r2                 # char *
1138         llgtr   %r3,%r3                 # char *
1139         llgtr   %r4,%r4                 # void *
1140         llgfr   %r5,%r5                 # size_t
1141         jg      sys_getxattr
1142
1143         .globl  sys32_lgetxattr_wrapper
1144 sys32_lgetxattr_wrapper:
1145         llgtr   %r2,%r2                 # char *
1146         llgtr   %r3,%r3                 # char *
1147         llgtr   %r4,%r4                 # void *
1148         llgfr   %r5,%r5                 # size_t
1149         jg      sys_lgetxattr
1150
1151         .globl  sys32_fgetxattr_wrapper
1152 sys32_fgetxattr_wrapper:
1153         lgfr    %r2,%r2                 # int
1154         llgtr   %r3,%r3                 # char *
1155         llgtr   %r4,%r4                 # void *
1156         llgfr   %r5,%r5                 # size_t
1157         jg      sys_fgetxattr
1158
1159         .globl  sys32_listxattr_wrapper
1160 sys32_listxattr_wrapper:
1161         llgtr   %r2,%r2                 # char *
1162         llgtr   %r3,%r3                 # char *
1163         llgfr   %r4,%r4                 # size_t
1164         jg      sys_listxattr
1165
1166         .globl  sys32_llistxattr_wrapper
1167 sys32_llistxattr_wrapper:
1168         llgtr   %r2,%r2                 # char *
1169         llgtr   %r3,%r3                 # char *
1170         llgfr   %r4,%r4                 # size_t
1171         jg      sys_llistxattr
1172
1173         .globl  sys32_flistxattr_wrapper
1174 sys32_flistxattr_wrapper:
1175         lgfr    %r2,%r2                 # int
1176         llgtr   %r3,%r3                 # char *
1177         llgfr   %r4,%r4                 # size_t
1178         jg      sys_flistxattr
1179
1180         .globl  sys32_removexattr_wrapper
1181 sys32_removexattr_wrapper:
1182         llgtr   %r2,%r2                 # char *
1183         llgtr   %r3,%r3                 # char *
1184         jg      sys_removexattr
1185
1186         .globl  sys32_lremovexattr_wrapper
1187 sys32_lremovexattr_wrapper:
1188         llgtr   %r2,%r2                 # char *
1189         llgtr   %r3,%r3                 # char *
1190         jg      sys_lremovexattr
1191
1192         .globl  sys32_fremovexattr_wrapper
1193 sys32_fremovexattr_wrapper:
1194         lgfr    %r2,%r2                 # int
1195         llgtr   %r3,%r3                 # char *
1196         jg      sys_fremovexattr
1197
1198         .globl  sys32_sched_setaffinity_wrapper
1199 sys32_sched_setaffinity_wrapper:
1200         lgfr    %r2,%r2                 # int
1201         llgfr   %r3,%r3                 # unsigned int
1202         llgtr   %r4,%r4                 # unsigned long *
1203         jg      compat_sys_sched_setaffinity
1204
1205         .globl  sys32_sched_getaffinity_wrapper
1206 sys32_sched_getaffinity_wrapper:
1207         lgfr    %r2,%r2                 # int
1208         llgfr   %r3,%r3                 # unsigned int
1209         llgtr   %r4,%r4                 # unsigned long *
1210         jg      compat_sys_sched_getaffinity
1211
1212         .globl  sys32_exit_group_wrapper
1213 sys32_exit_group_wrapper:
1214         lgfr    %r2,%r2                 # int
1215         jg      sys_exit_group          # branch to system call
1216
1217         .globl  sys32_set_tid_address_wrapper
1218 sys32_set_tid_address_wrapper:
1219         llgtr   %r2,%r2                 # int *
1220         jg      sys_set_tid_address     # branch to system call
1221
1222         .globl  sys_epoll_create_wrapper
1223 sys_epoll_create_wrapper:
1224         lgfr    %r2,%r2                 # int
1225         jg      sys_epoll_create        # branch to system call
1226
1227         .globl  sys_epoll_ctl_wrapper
1228 sys_epoll_ctl_wrapper:
1229         lgfr    %r2,%r2                 # int
1230         lgfr    %r3,%r3                 # int
1231         lgfr    %r4,%r4                 # int
1232         llgtr   %r5,%r5                 # struct epoll_event *
1233         jg      sys_epoll_ctl           # branch to system call
1234
1235         .globl  sys_epoll_wait_wrapper
1236 sys_epoll_wait_wrapper:
1237         lgfr    %r2,%r2                 # int
1238         llgtr   %r3,%r3                 # struct epoll_event *
1239         lgfr    %r4,%r4                 # int
1240         lgfr    %r5,%r5                 # int
1241         jg      sys_epoll_wait          # branch to system call
1242
1243         .globl  sys32_lookup_dcookie_wrapper
1244 sys32_lookup_dcookie_wrapper:
1245         sllg    %r2,%r2,32              # get high word of 64bit dcookie
1246         or      %r2,%r3                 # get low word of 64bit dcookie
1247         llgtr   %r3,%r4                 # char *
1248         llgfr   %r4,%r5                 # size_t
1249         jg      sys_lookup_dcookie
1250
1251         .globl  sys32_fadvise64_wrapper
1252 sys32_fadvise64_wrapper:
1253         lgfr    %r2,%r2                 # int
1254         sllg    %r3,%r3,32              # get high word of 64bit loff_t
1255         or      %r3,%r4                 # get low word of 64bit loff_t
1256         llgfr   %r4,%r5                 # size_t (unsigned long)
1257         lgfr    %r5,%r6                 # int
1258         jg      sys32_fadvise64
1259
1260         .globl  sys32_fadvise64_64_wrapper
1261 sys32_fadvise64_64_wrapper:
1262         llgtr   %r2,%r2                 # struct fadvise64_64_args *
1263         jg      sys32_fadvise64_64
1264
1265         .globl  sys32_clock_settime_wrapper
1266 sys32_clock_settime_wrapper:
1267         lgfr    %r2,%r2                 # clockid_t (int)
1268         llgtr   %r3,%r3                 # struct compat_timespec *
1269         jg      compat_sys_clock_settime
1270
1271         .globl  sys32_clock_gettime_wrapper
1272 sys32_clock_gettime_wrapper:
1273         lgfr    %r2,%r2                 # clockid_t (int)
1274         llgtr   %r3,%r3                 # struct compat_timespec *
1275         jg      compat_sys_clock_gettime
1276
1277         .globl  sys32_clock_getres_wrapper
1278 sys32_clock_getres_wrapper:
1279         lgfr    %r2,%r2                 # clockid_t (int)
1280         llgtr   %r3,%r3                 # struct compat_timespec *
1281         jg      compat_sys_clock_getres
1282
1283         .globl  sys32_clock_nanosleep_wrapper
1284 sys32_clock_nanosleep_wrapper:
1285         lgfr    %r2,%r2                 # clockid_t (int)
1286         lgfr    %r3,%r3                 # int
1287         llgtr   %r4,%r4                 # struct compat_timespec *
1288         llgtr   %r5,%r5                 # struct compat_timespec *
1289         jg      compat_sys_clock_nanosleep
1290
1291         .globl  sys32_timer_create_wrapper
1292 sys32_timer_create_wrapper:
1293         lgfr    %r2,%r2                 # timer_t (int)
1294         llgtr   %r3,%r3                 # struct compat_sigevent *
1295         llgtr   %r4,%r4                 # timer_t *
1296         jg      compat_sys_timer_create
1297
1298         .globl  sys32_timer_settime_wrapper
1299 sys32_timer_settime_wrapper:
1300         lgfr    %r2,%r2                 # timer_t (int)
1301         lgfr    %r3,%r3                 # int
1302         llgtr   %r4,%r4                 # struct compat_itimerspec *
1303         llgtr   %r5,%r5                 # struct compat_itimerspec *
1304         jg      compat_sys_timer_settime
1305
1306         .globl  sys32_timer_gettime_wrapper
1307 sys32_timer_gettime_wrapper:
1308         lgfr    %r2,%r2                 # timer_t (int)
1309         llgtr   %r3,%r3                 # struct compat_itimerspec *
1310         jg      compat_sys_timer_gettime
1311
1312         .globl  sys32_timer_getoverrun_wrapper
1313 sys32_timer_getoverrun_wrapper:
1314         lgfr    %r2,%r2                 # timer_t (int)
1315         jg      sys_timer_getoverrun
1316
1317         .globl  sys32_timer_delete_wrapper
1318 sys32_timer_delete_wrapper:
1319         lgfr    %r2,%r2                 # timer_t (int)
1320         jg      sys_timer_delete
1321
1322         .globl  sys32_io_setup_wrapper
1323 sys32_io_setup_wrapper:
1324         llgfr   %r2,%r2                 # unsigned int
1325         llgtr   %r3,%r3                 # u32 *
1326         jg      compat_sys_io_setup
1327
1328         .globl  sys32_io_destroy_wrapper
1329 sys32_io_destroy_wrapper:
1330         llgfr   %r2,%r2                 # (aio_context_t) u32
1331         jg      sys_io_destroy
1332
1333         .globl  sys32_io_getevents_wrapper
1334 sys32_io_getevents_wrapper:
1335         llgfr   %r2,%r2                 # (aio_context_t) u32
1336         lgfr    %r3,%r3                 # long
1337         lgfr    %r4,%r4                 # long
1338         llgtr   %r5,%r5                 # struct io_event *
1339         llgtr   %r6,%r6                 # struct compat_timespec *
1340         jg      compat_sys_io_getevents
1341
1342         .globl  sys32_io_submit_wrapper
1343 sys32_io_submit_wrapper:
1344         llgfr   %r2,%r2                 # (aio_context_t) u32
1345         lgfr    %r3,%r3                 # long
1346         llgtr   %r4,%r4                 # struct iocb **
1347         jg      compat_sys_io_submit
1348
1349         .globl  sys32_io_cancel_wrapper
1350 sys32_io_cancel_wrapper:
1351         llgfr   %r2,%r2                 # (aio_context_t) u32
1352         llgtr   %r3,%r3                 # struct iocb *
1353         llgtr   %r4,%r4                 # struct io_event *
1354         jg      sys_io_cancel
1355
1356         .globl compat_sys_statfs64_wrapper
1357 compat_sys_statfs64_wrapper:
1358         llgtr   %r2,%r2                 # const char *
1359         llgfr   %r3,%r3                 # compat_size_t
1360         llgtr   %r4,%r4                 # struct compat_statfs64 *
1361         jg      compat_sys_statfs64
1362
1363         .globl compat_sys_fstatfs64_wrapper
1364 compat_sys_fstatfs64_wrapper:
1365         llgfr   %r2,%r2                 # unsigned int fd
1366         llgfr   %r3,%r3                 # compat_size_t
1367         llgtr   %r4,%r4                 # struct compat_statfs64 *
1368         jg      compat_sys_fstatfs64
1369
1370         .globl  compat_sys_mq_open_wrapper
1371 compat_sys_mq_open_wrapper:
1372         llgtr   %r2,%r2                 # const char *
1373         lgfr    %r3,%r3                 # int
1374         llgfr   %r4,%r4                 # mode_t
1375         llgtr   %r5,%r5                 # struct compat_mq_attr *
1376         jg      compat_sys_mq_open
1377
1378         .globl  sys32_mq_unlink_wrapper
1379 sys32_mq_unlink_wrapper:
1380         llgtr   %r2,%r2                 # const char *
1381         jg      sys_mq_unlink
1382
1383         .globl  compat_sys_mq_timedsend_wrapper
1384 compat_sys_mq_timedsend_wrapper:
1385         lgfr    %r2,%r2                 # mqd_t
1386         llgtr   %r3,%r3                 # const char *
1387         llgfr   %r4,%r4                 # size_t
1388         llgfr   %r5,%r5                 # unsigned int
1389         llgtr   %r6,%r6                 # const struct compat_timespec *
1390         jg      compat_sys_mq_timedsend
1391
1392         .globl  compat_sys_mq_timedreceive_wrapper
1393 compat_sys_mq_timedreceive_wrapper:
1394         lgfr    %r2,%r2                 # mqd_t
1395         llgtr   %r3,%r3                 # char *
1396         llgfr   %r4,%r4                 # size_t
1397         llgtr   %r5,%r5                 # unsigned int *
1398         llgtr   %r6,%r6                 # const struct compat_timespec *
1399         jg      compat_sys_mq_timedreceive
1400
1401         .globl  compat_sys_mq_notify_wrapper
1402 compat_sys_mq_notify_wrapper:
1403         lgfr    %r2,%r2                 # mqd_t
1404         llgtr   %r3,%r3                 # struct compat_sigevent *
1405         jg      compat_sys_mq_notify
1406
1407         .globl  compat_sys_mq_getsetattr_wrapper
1408 compat_sys_mq_getsetattr_wrapper:
1409         lgfr    %r2,%r2                 # mqd_t
1410         llgtr   %r3,%r3                 # struct compat_mq_attr *
1411         llgtr   %r4,%r4                 # struct compat_mq_attr *
1412         jg      compat_sys_mq_getsetattr
1413
1414         .globl  compat_sys_add_key_wrapper
1415 compat_sys_add_key_wrapper:
1416         llgtr   %r2,%r2                 # const char *
1417         llgtr   %r3,%r3                 # const char *
1418         llgtr   %r4,%r4                 # const void *
1419         llgfr   %r5,%r5                 # size_t
1420         llgfr   %r6,%r6                 # (key_serial_t) u32
1421         jg      sys_add_key
1422
1423         .globl  compat_sys_request_key_wrapper
1424 compat_sys_request_key_wrapper:
1425         llgtr   %r2,%r2                 # const char *
1426         llgtr   %r3,%r3                 # const char *
1427         llgtr   %r4,%r4                 # const void *
1428         llgfr   %r5,%r5                 # (key_serial_t) u32
1429         jg      sys_request_key
1430
1431         .globl  sys32_remap_file_pages_wrapper
1432 sys32_remap_file_pages_wrapper:
1433         llgfr   %r2,%r2                 # unsigned long
1434         llgfr   %r3,%r3                 # unsigned long
1435         llgfr   %r4,%r4                 # unsigned long
1436         llgfr   %r5,%r5                 # unsigned long
1437         llgfr   %r6,%r6                 # unsigned long
1438         jg      sys_remap_file_pages
1439
1440         .globl  compat_sys_waitid_wrapper
1441 compat_sys_waitid_wrapper:
1442         lgfr    %r2,%r2                 # int
1443         lgfr    %r3,%r3                 # pid_t
1444         llgtr   %r4,%r4                 # siginfo_emu31_t *
1445         lgfr    %r5,%r5                 # int
1446         llgtr   %r6,%r6                 # struct rusage_emu31 *
1447         jg      compat_sys_waitid
1448
1449         .globl  compat_sys_kexec_load_wrapper
1450 compat_sys_kexec_load_wrapper:
1451         llgfr   %r2,%r2                 # unsigned long
1452         llgfr   %r3,%r3                 # unsigned long
1453         llgtr   %r4,%r4                 # struct kexec_segment *
1454         llgfr   %r5,%r5                 # unsigned long
1455         jg      compat_sys_kexec_load
1456
1457         .globl  sys_ioprio_set_wrapper
1458 sys_ioprio_set_wrapper:
1459         lgfr    %r2,%r2                 # int
1460         lgfr    %r3,%r3                 # int
1461         lgfr    %r4,%r4                 # int
1462         jg      sys_ioprio_set
1463
1464         .globl  sys_ioprio_get_wrapper
1465 sys_ioprio_get_wrapper:
1466         lgfr    %r2,%r2                 # int
1467         lgfr    %r3,%r3                 # int
1468         jg      sys_ioprio_get
1469
1470         .globl  sys_inotify_add_watch_wrapper
1471 sys_inotify_add_watch_wrapper:
1472         lgfr    %r2,%r2                 # int
1473         llgtr   %r3,%r3                 # const char *
1474         llgfr   %r4,%r4                 # u32
1475         jg      sys_inotify_add_watch
1476
1477         .globl  sys_inotify_rm_watch_wrapper
1478 sys_inotify_rm_watch_wrapper:
1479         lgfr    %r2,%r2                 # int
1480         llgfr   %r3,%r3                 # u32
1481         jg      sys_inotify_rm_watch
1482
1483         .globl compat_sys_openat_wrapper
1484 compat_sys_openat_wrapper:
1485         llgfr   %r2,%r2                 # unsigned int
1486         llgtr   %r3,%r3                 # const char *
1487         lgfr    %r4,%r4                 # int
1488         lgfr    %r5,%r5                 # int
1489         jg      compat_sys_openat
1490
1491         .globl sys_mkdirat_wrapper
1492 sys_mkdirat_wrapper:
1493         lgfr    %r2,%r2                 # int
1494         llgtr   %r3,%r3                 # const char *
1495         lgfr    %r4,%r4                 # int
1496         jg      sys_mkdirat
1497
1498         .globl sys_mknodat_wrapper
1499 sys_mknodat_wrapper:
1500         lgfr    %r2,%r2                 # int
1501         llgtr   %r3,%r3                 # const char *
1502         lgfr    %r4,%r4                 # int
1503         llgfr   %r5,%r5                 # unsigned int
1504         jg      sys_mknodat
1505
1506         .globl sys_fchownat_wrapper
1507 sys_fchownat_wrapper:
1508         lgfr    %r2,%r2                 # int
1509         llgtr   %r3,%r3                 # const char *
1510         llgfr   %r4,%r4                 # uid_t
1511         llgfr   %r5,%r5                 # gid_t
1512         lgfr    %r6,%r6                 # int
1513         jg      sys_fchownat
1514
1515         .globl compat_sys_futimesat_wrapper
1516 compat_sys_futimesat_wrapper:
1517         llgfr   %r2,%r2                 # unsigned int
1518         llgtr   %r3,%r3                 # char *
1519         llgtr   %r4,%r4                 # struct timeval *
1520         jg      compat_sys_futimesat
1521
1522         .globl sys32_fstatat64_wrapper
1523 sys32_fstatat64_wrapper:
1524         llgfr   %r2,%r2                 # unsigned int
1525         llgtr   %r3,%r3                 # char *
1526         llgtr   %r4,%r4                 # struct stat64 *
1527         lgfr    %r5,%r5                 # int
1528         jg      sys32_fstatat64
1529
1530         .globl sys_unlinkat_wrapper
1531 sys_unlinkat_wrapper:
1532         lgfr    %r2,%r2                 # int
1533         llgtr   %r3,%r3                 # const char *
1534         lgfr    %r4,%r4                 # int
1535         jg      sys_unlinkat
1536
1537         .globl sys_renameat_wrapper
1538 sys_renameat_wrapper:
1539         lgfr    %r2,%r2                 # int
1540         llgtr   %r3,%r3                 # const char *
1541         lgfr    %r4,%r4                 # int
1542         llgtr   %r5,%r5                 # const char *
1543         jg      sys_renameat
1544
1545         .globl sys_linkat_wrapper
1546 sys_linkat_wrapper:
1547         lgfr    %r2,%r2                 # int
1548         llgtr   %r3,%r3                 # const char *
1549         lgfr    %r4,%r4                 # int
1550         llgtr   %r5,%r5                 # const char *
1551         lgfr    %r6,%r6                 # int
1552         jg      sys_linkat
1553
1554         .globl sys_symlinkat_wrapper
1555 sys_symlinkat_wrapper:
1556         llgtr   %r2,%r2                 # const char *
1557         lgfr    %r3,%r3                 # int
1558         llgtr   %r4,%r4                 # const char *
1559         jg      sys_symlinkat
1560
1561         .globl sys_readlinkat_wrapper
1562 sys_readlinkat_wrapper:
1563         lgfr    %r2,%r2                 # int
1564         llgtr   %r3,%r3                 # const char *
1565         llgtr   %r4,%r4                 # char *
1566         lgfr    %r5,%r5                 # int
1567         jg      sys_readlinkat
1568
1569         .globl sys_fchmodat_wrapper
1570 sys_fchmodat_wrapper:
1571         lgfr    %r2,%r2                 # int
1572         llgtr   %r3,%r3                 # const char *
1573         llgfr   %r4,%r4                 # mode_t
1574         jg      sys_fchmodat
1575
1576         .globl sys_faccessat_wrapper
1577 sys_faccessat_wrapper:
1578         lgfr    %r2,%r2                 # int
1579         llgtr   %r3,%r3                 # const char *
1580         lgfr    %r4,%r4                 # int
1581         jg      sys_faccessat
1582
1583         .globl compat_sys_pselect6_wrapper
1584 compat_sys_pselect6_wrapper:
1585         lgfr    %r2,%r2                 # int
1586         llgtr   %r3,%r3                 # fd_set *
1587         llgtr   %r4,%r4                 # fd_set *
1588         llgtr   %r5,%r5                 # fd_set *
1589         llgtr   %r6,%r6                 # struct timespec *
1590         llgt    %r0,164(%r15)           # void *
1591         stg     %r0,160(%r15)
1592         jg      compat_sys_pselect6
1593
1594         .globl compat_sys_ppoll_wrapper
1595 compat_sys_ppoll_wrapper:
1596         llgtr   %r2,%r2                 # struct pollfd *
1597         llgfr   %r3,%r3                 # unsigned int
1598         llgtr   %r4,%r4                 # struct timespec *
1599         llgtr   %r5,%r5                 # const sigset_t *
1600         llgfr   %r6,%r6                 # size_t
1601         jg      compat_sys_ppoll
1602
1603         .globl sys_unshare_wrapper
1604 sys_unshare_wrapper:
1605         llgfr   %r2,%r2                 # unsigned long
1606         jg      sys_unshare
1607
1608         .globl compat_sys_set_robust_list_wrapper
1609 compat_sys_set_robust_list_wrapper:
1610         llgtr   %r2,%r2                 # struct compat_robust_list_head *
1611         llgfr   %r3,%r3                 # size_t
1612         jg      compat_sys_set_robust_list
1613
1614         .globl compat_sys_get_robust_list_wrapper
1615 compat_sys_get_robust_list_wrapper:
1616         lgfr    %r2,%r2                 # int
1617         llgtr   %r3,%r3                 # compat_uptr_t_t *
1618         llgtr   %r4,%r4                 # compat_size_t *
1619         jg      compat_sys_get_robust_list
1620
1621         .globl sys_splice_wrapper
1622 sys_splice_wrapper:
1623         lgfr    %r2,%r2                 # int
1624         llgtr   %r3,%r3                 # loff_t *
1625         lgfr    %r4,%r4                 # int
1626         llgtr   %r5,%r5                 # loff_t *
1627         llgfr   %r6,%r6                 # size_t
1628         llgf    %r0,164(%r15)           # unsigned int
1629         stg     %r0,160(%r15)
1630         jg      sys_splice
1631
1632         .globl  sys_sync_file_range_wrapper
1633 sys_sync_file_range_wrapper:
1634         lgfr    %r2,%r2                 # int
1635         sllg    %r3,%r3,32              # get high word of 64bit loff_t
1636         or      %r3,%r4                 # get low word of 64bit loff_t
1637         sllg    %r4,%r5,32              # get high word of 64bit loff_t
1638         or      %r4,%r6                 # get low word of 64bit loff_t
1639         llgf    %r5,164(%r15)           # unsigned int
1640         jg      sys_sync_file_range
1641
1642         .globl  sys_tee_wrapper
1643 sys_tee_wrapper:
1644         lgfr    %r2,%r2                 # int
1645         lgfr    %r3,%r3                 # int
1646         llgfr   %r4,%r4                 # size_t
1647         llgfr   %r5,%r5                 # unsigned int
1648         jg      sys_tee
1649
1650         .globl compat_sys_vmsplice_wrapper
1651 compat_sys_vmsplice_wrapper:
1652         lgfr    %r2,%r2                 # int
1653         llgtr   %r3,%r3                 # compat_iovec *
1654         llgfr   %r4,%r4                 # unsigned int
1655         llgfr   %r5,%r5                 # unsigned int
1656         jg      compat_sys_vmsplice
1657
1658         .globl  sys_getcpu_wrapper
1659 sys_getcpu_wrapper:
1660         llgtr   %r2,%r2                 # unsigned *
1661         llgtr   %r3,%r3                 # unsigned *
1662         llgtr   %r4,%r4                 # struct getcpu_cache *
1663         jg      sys_getcpu
1664
1665         .globl  compat_sys_epoll_pwait_wrapper
1666 compat_sys_epoll_pwait_wrapper:
1667         lgfr    %r2,%r2                 # int
1668         llgtr   %r3,%r3                 # struct compat_epoll_event *
1669         lgfr    %r4,%r4                 # int
1670         lgfr    %r5,%r5                 # int
1671         llgtr   %r6,%r6                 # compat_sigset_t *
1672         llgf    %r0,164(%r15)           # compat_size_t
1673         stg     %r0,160(%r15)
1674         jg      compat_sys_epoll_pwait
1675
1676         .globl  compat_sys_utimes_wrapper
1677 compat_sys_utimes_wrapper:
1678         llgtr   %r2,%r2                 # char *
1679         llgtr   %r3,%r3                 # struct compat_timeval *
1680         jg      compat_sys_utimes
1681
1682         .globl  compat_sys_utimensat_wrapper
1683 compat_sys_utimensat_wrapper:
1684         llgfr   %r2,%r2                 # unsigned int
1685         llgtr   %r3,%r3                 # char *
1686         llgtr   %r4,%r4                 # struct compat_timespec *
1687         lgfr    %r5,%r5                 # int
1688         jg      compat_sys_utimensat
1689
1690         .globl  compat_sys_signalfd_wrapper
1691 compat_sys_signalfd_wrapper:
1692         lgfr    %r2,%r2                 # int
1693         llgtr   %r3,%r3                 # compat_sigset_t *
1694         llgfr   %r4,%r4                 # compat_size_t
1695         jg      compat_sys_signalfd
1696
1697         .globl  sys_eventfd_wrapper
1698 sys_eventfd_wrapper:
1699         llgfr   %r2,%r2                 # unsigned int
1700         jg      sys_eventfd
1701
1702         .globl  sys_fallocate_wrapper
1703 sys_fallocate_wrapper:
1704         lgfr    %r2,%r2                 # int
1705         lgfr    %r3,%r3                 # int
1706         sllg    %r4,%r4,32              # get high word of 64bit loff_t
1707         lr      %r4,%r5                 # get low word of 64bit loff_t
1708         sllg    %r5,%r6,32              # get high word of 64bit loff_t
1709         l       %r5,164(%r15)           # get low word of 64bit loff_t
1710         jg      sys_fallocate
1711
1712         .globl  sys_timerfd_create_wrapper
1713 sys_timerfd_create_wrapper:
1714         lgfr    %r2,%r2                 # int
1715         lgfr    %r3,%r3                 # int
1716         jg      sys_timerfd_create
1717
1718         .globl  compat_sys_timerfd_settime_wrapper
1719 compat_sys_timerfd_settime_wrapper:
1720         lgfr    %r2,%r2                 # int
1721         lgfr    %r3,%r3                 # int
1722         llgtr   %r4,%r4                 # struct compat_itimerspec *
1723         llgtr   %r5,%r5                 # struct compat_itimerspec *
1724         jg      compat_sys_timerfd_settime
1725
1726         .globl  compat_sys_timerfd_gettime_wrapper
1727 compat_sys_timerfd_gettime_wrapper:
1728         lgfr    %r2,%r2                 # int
1729         llgtr   %r3,%r3                 # struct compat_itimerspec *
1730         jg      compat_sys_timerfd_gettime
1731
1732         .globl compat_sys_signalfd4_wrapper
1733 compat_sys_signalfd4_wrapper:
1734         lgfr    %r2,%r2                 # int
1735         llgtr   %r3,%r3                 # compat_sigset_t *
1736         llgfr   %r4,%r4                 # compat_size_t
1737         lgfr    %r5,%r5                 # int
1738         jg      compat_sys_signalfd4
1739
1740         .globl sys_eventfd2_wrapper
1741 sys_eventfd2_wrapper:
1742         llgfr   %r2,%r2                 # unsigned int
1743         lgfr    %r3,%r3                 # int
1744         jg      sys_eventfd2
1745
1746         .globl  sys_inotify_init1_wrapper
1747 sys_inotify_init1_wrapper:
1748         lgfr    %r2,%r2                 # int
1749         jg      sys_inotify_init1
1750
1751         .globl  sys_pipe2_wrapper
1752 sys_pipe2_wrapper:
1753         llgtr   %r2,%r2                 # u32 *
1754         lgfr    %r3,%r3                 # int
1755         jg      sys_pipe2               # branch to system call
1756
1757         .globl  sys_dup3_wrapper
1758 sys_dup3_wrapper:
1759         llgfr   %r2,%r2                 # unsigned int
1760         llgfr   %r3,%r3                 # unsigned int
1761         lgfr    %r4,%r4                 # int
1762         jg      sys_dup3                # branch to system call
1763
1764         .globl  sys_epoll_create1_wrapper
1765 sys_epoll_create1_wrapper:
1766         lgfr    %r2,%r2                 # int
1767         jg      sys_epoll_create1       # branch to system call
1768
1769         .globl  sys32_readahead_wrapper
1770 sys32_readahead_wrapper:
1771         lgfr    %r2,%r2                 # int
1772         llgfr   %r3,%r3                 # u32
1773         llgfr   %r4,%r4                 # u32
1774         lgfr    %r5,%r5                 # s32
1775         jg      sys32_readahead         # branch to system call
1776
1777         .globl  sys32_sendfile64_wrapper
1778 sys32_sendfile64_wrapper:
1779         lgfr    %r2,%r2                 # int
1780         lgfr    %r3,%r3                 # int
1781         llgtr   %r4,%r4                 # compat_loff_t *
1782         lgfr    %r5,%r5                 # s32
1783         jg      sys32_sendfile64        # branch to system call
1784
1785         .globl  sys_tkill_wrapper
1786 sys_tkill_wrapper:
1787         lgfr    %r2,%r2                 # pid_t
1788         lgfr    %r3,%r3                 # int
1789         jg      sys_tkill               # branch to system call
1790
1791         .globl  sys_tgkill_wrapper
1792 sys_tgkill_wrapper:
1793         lgfr    %r2,%r2                 # pid_t
1794         lgfr    %r3,%r3                 # pid_t
1795         lgfr    %r4,%r4                 # int
1796         jg      sys_tgkill              # branch to system call
1797
1798         .globl  compat_sys_keyctl_wrapper
1799 compat_sys_keyctl_wrapper:
1800         llgfr   %r2,%r2                 # u32
1801         llgfr   %r3,%r3                 # u32
1802         llgfr   %r4,%r4                 # u32
1803         llgfr   %r5,%r5                 # u32
1804         llgfr   %r6,%r6                 # u32
1805         jg      compat_sys_keyctl       # branch to system call
1806
1807         .globl  compat_sys_preadv_wrapper
1808 compat_sys_preadv_wrapper:
1809         llgfr   %r2,%r2                 # unsigned long
1810         llgtr   %r3,%r3                 # compat_iovec *
1811         llgfr   %r4,%r4                 # unsigned long
1812         llgfr   %r5,%r5                 # u32
1813         llgfr   %r6,%r6                 # u32
1814         jg      compat_sys_preadv       # branch to system call
1815
1816         .globl  compat_sys_pwritev_wrapper
1817 compat_sys_pwritev_wrapper:
1818         llgfr   %r2,%r2                 # unsigned long
1819         llgtr   %r3,%r3                 # compat_iovec *
1820         llgfr   %r4,%r4                 # unsigned long
1821         llgfr   %r5,%r5                 # u32
1822         llgfr   %r6,%r6                 # u32
1823         jg      compat_sys_pwritev      # branch to system call
1824
1825         .globl  compat_sys_rt_tgsigqueueinfo_wrapper
1826 compat_sys_rt_tgsigqueueinfo_wrapper:
1827         lgfr    %r2,%r2                 # compat_pid_t
1828         lgfr    %r3,%r3                 # compat_pid_t
1829         lgfr    %r4,%r4                 # int
1830         llgtr   %r5,%r5                 # struct compat_siginfo *
1831         jg      compat_sys_rt_tgsigqueueinfo_wrapper # branch to system call
1832
1833         .globl  sys_perf_event_open_wrapper
1834 sys_perf_event_open_wrapper:
1835         llgtr   %r2,%r2                 # const struct perf_event_attr *
1836         lgfr    %r3,%r3                 # pid_t
1837         lgfr    %r4,%r4                 # int
1838         lgfr    %r5,%r5                 # int
1839         llgfr   %r6,%r6                 # unsigned long
1840         jg      sys_perf_event_open     # branch to system call
1841
1842         .globl  sys_clone_wrapper
1843 sys_clone_wrapper:
1844         llgfr   %r2,%r2                 # unsigned long
1845         llgfr   %r3,%r3                 # unsigned long
1846         llgtr   %r4,%r4                 # int *
1847         llgtr   %r5,%r5                 # int *
1848         jg      sys_clone               # branch to system call
1849
1850         .globl  sys32_execve_wrapper
1851 sys32_execve_wrapper:
1852         llgtr   %r2,%r2                 # char *
1853         llgtr   %r3,%r3                 # compat_uptr_t *
1854         llgtr   %r4,%r4                 # compat_uptr_t *
1855         jg      sys32_execve            # branch to system call
1856
1857         .globl  compat_sys_recvmmsg_wrapper
1858 compat_sys_recvmmsg_wrapper:
1859         lgfr    %r2,%r2                 # int
1860         llgtr   %r3,%r3                 # struct compat_mmsghdr *
1861         llgfr   %r4,%r4                 # unsigned int
1862         llgfr   %r5,%r5                 # unsigned int
1863         llgtr   %r6,%r6                 # struct compat_timespec *
1864         jg      compat_sys_recvmmsg