Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi...
[firefly-linux-kernel-4.4.55.git] / arch / s390 / kernel / compat_wrapper.S
1 /*
2 *    wrapper for 31 bit compatible system calls.
3 *
4 *    Copyright IBM Corp. 2000, 2006
5 *    Author(s): Gerhard Tonn (ton@de.ibm.com),
6 *               Thomas Spatzier (tspat@de.ibm.com)
7 */
8
9 #include <linux/linkage.h>
10
11 ENTRY(sys32_exit_wrapper)
12         lgfr    %r2,%r2                 # int
13         jg      sys_exit                # branch to sys_exit
14
15 ENTRY(sys32_read_wrapper)
16         llgfr   %r2,%r2                 # unsigned int
17         llgtr   %r3,%r3                 # char *
18         llgfr   %r4,%r4                 # size_t
19         jg      sys32_read              # branch to sys_read
20
21 ENTRY(sys32_write_wrapper)
22         llgfr   %r2,%r2                 # unsigned int
23         llgtr   %r3,%r3                 # const char *
24         llgfr   %r4,%r4                 # size_t
25         jg      sys32_write             # branch to system call
26
27 ENTRY(sys32_close_wrapper)
28         llgfr   %r2,%r2                 # unsigned int
29         jg      sys_close               # branch to system call
30
31 ENTRY(sys32_creat_wrapper)
32         llgtr   %r2,%r2                 # const char *
33         lgfr    %r3,%r3                 # int
34         jg      sys_creat               # branch to system call
35
36 ENTRY(sys32_link_wrapper)
37         llgtr   %r2,%r2                 # const char *
38         llgtr   %r3,%r3                 # const char *
39         jg      sys_link                # branch to system call
40
41 ENTRY(sys32_unlink_wrapper)
42         llgtr   %r2,%r2                 # const char *
43         jg      sys_unlink              # branch to system call
44
45 ENTRY(sys32_chdir_wrapper)
46         llgtr   %r2,%r2                 # const char *
47         jg      sys_chdir               # branch to system call
48
49 ENTRY(sys32_time_wrapper)
50         llgtr   %r2,%r2                 # int *
51         jg      compat_sys_time         # branch to system call
52
53 ENTRY(sys32_mknod_wrapper)
54         llgtr   %r2,%r2                 # const char *
55         lgfr    %r3,%r3                 # int
56         llgfr   %r4,%r4                 # dev
57         jg      sys_mknod               # branch to system call
58
59 ENTRY(sys32_chmod_wrapper)
60         llgtr   %r2,%r2                 # const char *
61         llgfr   %r3,%r3                 # mode_t
62         jg      sys_chmod               # branch to system call
63
64 ENTRY(sys32_lchown16_wrapper)
65         llgtr   %r2,%r2                 # const char *
66         llgfr   %r3,%r3                 # __kernel_old_uid_emu31_t
67         llgfr   %r4,%r4                 # __kernel_old_uid_emu31_t
68         jg      sys32_lchown16          # branch to system call
69
70 #sys32_getpid_wrapper                           # void
71
72 ENTRY(sys32_mount_wrapper)
73         llgtr   %r2,%r2                 # char *
74         llgtr   %r3,%r3                 # char *
75         llgtr   %r4,%r4                 # char *
76         llgfr   %r5,%r5                 # unsigned long
77         llgtr   %r6,%r6                 # void *
78         jg      compat_sys_mount        # branch to system call
79
80 ENTRY(sys32_oldumount_wrapper)
81         llgtr   %r2,%r2                 # char *
82         jg      sys_oldumount           # branch to system call
83
84 ENTRY(sys32_setuid16_wrapper)
85         llgfr   %r2,%r2                 # __kernel_old_uid_emu31_t
86         jg      sys32_setuid16          # branch to system call
87
88 #sys32_getuid16_wrapper                 # void
89
90 ENTRY(sys32_ptrace_wrapper)
91         lgfr    %r2,%r2                 # long
92         lgfr    %r3,%r3                 # long
93         llgtr   %r4,%r4                 # long
94         llgfr   %r5,%r5                 # long
95         jg      compat_sys_ptrace       # branch to system call
96
97 ENTRY(sys32_alarm_wrapper)
98         llgfr   %r2,%r2                 # unsigned int
99         jg      sys_alarm               # branch to system call
100
101 ENTRY(compat_sys_utime_wrapper)
102         llgtr   %r2,%r2                 # char *
103         llgtr   %r3,%r3                 # struct compat_utimbuf *
104         jg      compat_sys_utime        # branch to system call
105
106 ENTRY(sys32_access_wrapper)
107         llgtr   %r2,%r2                 # const char *
108         lgfr    %r3,%r3                 # int
109         jg      sys_access              # branch to system call
110
111 ENTRY(sys32_nice_wrapper)
112         lgfr    %r2,%r2                 # int
113         jg      sys_nice                # branch to system call
114
115 #sys32_sync_wrapper                     # void
116
117 ENTRY(sys32_kill_wrapper)
118         lgfr    %r2,%r2                 # int
119         lgfr    %r3,%r3                 # int
120         jg      sys_kill                # branch to system call
121
122 ENTRY(sys32_rename_wrapper)
123         llgtr   %r2,%r2                 # const char *
124         llgtr   %r3,%r3                 # const char *
125         jg      sys_rename              # branch to system call
126
127 ENTRY(sys32_mkdir_wrapper)
128         llgtr   %r2,%r2                 # const char *
129         lgfr    %r3,%r3                 # int
130         jg      sys_mkdir               # branch to system call
131
132 ENTRY(sys32_rmdir_wrapper)
133         llgtr   %r2,%r2                 # const char *
134         jg      sys_rmdir               # branch to system call
135
136 ENTRY(sys32_dup_wrapper)
137         llgfr   %r2,%r2                 # unsigned int
138         jg      sys_dup                 # branch to system call
139
140 ENTRY(sys32_pipe_wrapper)
141         llgtr   %r2,%r2                 # u32 *
142         jg      sys_pipe                # branch to system call
143
144 ENTRY(compat_sys_times_wrapper)
145         llgtr   %r2,%r2                 # struct compat_tms *
146         jg      compat_sys_times        # branch to system call
147
148 ENTRY(sys32_brk_wrapper)
149         llgtr   %r2,%r2                 # unsigned long
150         jg      sys_brk                 # branch to system call
151
152 ENTRY(sys32_setgid16_wrapper)
153         llgfr   %r2,%r2                 # __kernel_old_gid_emu31_t
154         jg      sys32_setgid16          # branch to system call
155
156 #sys32_getgid16_wrapper                 # void
157
158 ENTRY(sys32_signal_wrapper)
159         lgfr    %r2,%r2                 # int
160         llgtr   %r3,%r3                 # __sighandler_t
161         jg      sys_signal
162
163 #sys32_geteuid16_wrapper                # void
164
165 #sys32_getegid16_wrapper                # void
166
167 ENTRY(sys32_acct_wrapper)
168         llgtr   %r2,%r2                 # char *
169         jg      sys_acct                # branch to system call
170
171 ENTRY(sys32_umount_wrapper)
172         llgtr   %r2,%r2                 # char *
173         lgfr    %r3,%r3                 # int
174         jg      sys_umount              # branch to system call
175
176 ENTRY(compat_sys_ioctl_wrapper)
177         llgfr   %r2,%r2                 # unsigned int
178         llgfr   %r3,%r3                 # unsigned int
179         llgfr   %r4,%r4                 # unsigned int
180         jg      compat_sys_ioctl        # branch to system call
181
182 ENTRY(compat_sys_fcntl_wrapper)
183         llgfr   %r2,%r2                 # unsigned int
184         llgfr   %r3,%r3                 # unsigned int
185         llgfr   %r4,%r4                 # unsigned long
186         jg      compat_sys_fcntl        # branch to system call
187
188 ENTRY(sys32_setpgid_wrapper)
189         lgfr    %r2,%r2                 # pid_t
190         lgfr    %r3,%r3                 # pid_t
191         jg      sys_setpgid             # branch to system call
192
193 ENTRY(sys32_umask_wrapper)
194         lgfr    %r2,%r2                 # int
195         jg      sys_umask               # branch to system call
196
197 ENTRY(sys32_chroot_wrapper)
198         llgtr   %r2,%r2                 # char *
199         jg      sys_chroot              # branch to system call
200
201 ENTRY(sys32_ustat_wrapper)
202         llgfr   %r2,%r2                 # dev_t
203         llgtr   %r3,%r3                 # struct ustat *
204         jg      compat_sys_ustat
205
206 ENTRY(sys32_dup2_wrapper)
207         llgfr   %r2,%r2                 # unsigned int
208         llgfr   %r3,%r3                 # unsigned int
209         jg      sys_dup2                # branch to system call
210
211 #sys32_getppid_wrapper                  # void
212
213 #sys32_getpgrp_wrapper                  # void
214
215 #sys32_setsid_wrapper                   # void
216
217 ENTRY(sys32_setreuid16_wrapper)
218         llgfr   %r2,%r2                 # __kernel_old_uid_emu31_t
219         llgfr   %r3,%r3                 # __kernel_old_uid_emu31_t
220         jg      sys32_setreuid16        # branch to system call
221
222 ENTRY(sys32_setregid16_wrapper)
223         llgfr   %r2,%r2                 # __kernel_old_gid_emu31_t
224         llgfr   %r3,%r3                 # __kernel_old_gid_emu31_t
225         jg      sys32_setregid16        # branch to system call
226
227 ENTRY(sys_sigsuspend_wrapper)
228         lgfr    %r2,%r2                 # int
229         lgfr    %r3,%r3                 # int
230         llgfr   %r4,%r4                 # old_sigset_t
231         jg      sys_sigsuspend
232
233 ENTRY(compat_sys_sigpending_wrapper)
234         llgtr   %r2,%r2                 # compat_old_sigset_t *
235         jg      compat_sys_sigpending   # branch to system call
236
237 ENTRY(sys32_sethostname_wrapper)
238         llgtr   %r2,%r2                 # char *
239         lgfr    %r3,%r3                 # int
240         jg      sys_sethostname         # branch to system call
241
242 ENTRY(compat_sys_setrlimit_wrapper)
243         llgfr   %r2,%r2                 # unsigned int
244         llgtr   %r3,%r3                 # struct rlimit_emu31 *
245         jg      compat_sys_setrlimit    # branch to system call
246
247 ENTRY(compat_sys_old_getrlimit_wrapper)
248         llgfr   %r2,%r2                 # unsigned int
249         llgtr   %r3,%r3                 # struct rlimit_emu31 *
250         jg      compat_sys_old_getrlimit # branch to system call
251
252 ENTRY(compat_sys_getrlimit_wrapper)
253         llgfr   %r2,%r2                 # unsigned int
254         llgtr   %r3,%r3                 # struct rlimit_emu31 *
255         jg      compat_sys_getrlimit    # branch to system call
256
257 ENTRY(sys32_mmap2_wrapper)
258         llgtr   %r2,%r2                 # struct mmap_arg_struct_emu31 *
259         jg      sys32_mmap2                     # branch to system call
260
261 ENTRY(compat_sys_getrusage_wrapper)
262         lgfr    %r2,%r2                 # int
263         llgtr   %r3,%r3                 # struct rusage_emu31 *
264         jg      compat_sys_getrusage    # branch to system call
265
266 ENTRY(compat_sys_gettimeofday_wrapper)
267         llgtr   %r2,%r2                 # struct timeval_emu31 *
268         llgtr   %r3,%r3                 # struct timezone *
269         jg      compat_sys_gettimeofday # branch to system call
270
271 ENTRY(compat_sys_settimeofday_wrapper)
272         llgtr   %r2,%r2                 # struct timeval_emu31 *
273         llgtr   %r3,%r3                 # struct timezone *
274         jg      compat_sys_settimeofday # branch to system call
275
276 ENTRY(sys32_getgroups16_wrapper)
277         lgfr    %r2,%r2                 # int
278         llgtr   %r3,%r3                 # __kernel_old_gid_emu31_t *
279         jg      sys32_getgroups16       # branch to system call
280
281 ENTRY(sys32_setgroups16_wrapper)
282         lgfr    %r2,%r2                 # int
283         llgtr   %r3,%r3                 # __kernel_old_gid_emu31_t *
284         jg      sys32_setgroups16       # branch to system call
285
286 ENTRY(sys32_symlink_wrapper)
287         llgtr   %r2,%r2                 # const char *
288         llgtr   %r3,%r3                 # const char *
289         jg      sys_symlink             # branch to system call
290
291 ENTRY(sys32_readlink_wrapper)
292         llgtr   %r2,%r2                 # const char *
293         llgtr   %r3,%r3                 # char *
294         lgfr    %r4,%r4                 # int
295         jg      sys_readlink            # branch to system call
296
297 ENTRY(sys32_uselib_wrapper)
298         llgtr   %r2,%r2                 # const char *
299         jg      sys_uselib              # branch to system call
300
301 ENTRY(sys32_swapon_wrapper)
302         llgtr   %r2,%r2                 # const char *
303         lgfr    %r3,%r3                 # int
304         jg      sys_swapon              # branch to system call
305
306 ENTRY(sys32_reboot_wrapper)
307         lgfr    %r2,%r2                 # int
308         lgfr    %r3,%r3                 # int
309         llgfr   %r4,%r4                 # unsigned int
310         llgtr   %r5,%r5                 # void *
311         jg      sys_reboot              # branch to system call
312
313 ENTRY(old32_readdir_wrapper)
314         llgfr   %r2,%r2                 # unsigned int
315         llgtr   %r3,%r3                 # void *
316         llgfr   %r4,%r4                 # unsigned int
317         jg      compat_sys_old_readdir  # branch to system call
318
319 ENTRY(old32_mmap_wrapper)
320         llgtr   %r2,%r2                 # struct mmap_arg_struct_emu31 *
321         jg      old32_mmap              # branch to system call
322
323 ENTRY(sys32_munmap_wrapper)
324         llgfr   %r2,%r2                 # unsigned long
325         llgfr   %r3,%r3                 # size_t
326         jg      sys_munmap              # branch to system call
327
328 ENTRY(sys32_fchmod_wrapper)
329         llgfr   %r2,%r2                 # unsigned int
330         llgfr   %r3,%r3                 # mode_t
331         jg      sys_fchmod              # branch to system call
332
333 ENTRY(sys32_fchown16_wrapper)
334         llgfr   %r2,%r2                 # unsigned int
335         llgfr   %r3,%r3                 # compat_uid_t
336         llgfr   %r4,%r4                 # compat_uid_t
337         jg      sys32_fchown16          # branch to system call
338
339 ENTRY(sys32_getpriority_wrapper)
340         lgfr    %r2,%r2                 # int
341         lgfr    %r3,%r3                 # int
342         jg      sys_getpriority         # branch to system call
343
344 ENTRY(sys32_setpriority_wrapper)
345         lgfr    %r2,%r2                 # int
346         lgfr    %r3,%r3                 # int
347         lgfr    %r4,%r4                 # int
348         jg      sys_setpriority         # branch to system call
349
350 ENTRY(compat_sys_statfs_wrapper)
351         llgtr   %r2,%r2                 # char *
352         llgtr   %r3,%r3                 # struct compat_statfs *
353         jg      compat_sys_statfs       # branch to system call
354
355 ENTRY(compat_sys_fstatfs_wrapper)
356         llgfr   %r2,%r2                 # unsigned int
357         llgtr   %r3,%r3                 # struct compat_statfs *
358         jg      compat_sys_fstatfs      # branch to system call
359
360 ENTRY(compat_sys_socketcall_wrapper)
361         lgfr    %r2,%r2                 # int
362         llgtr   %r3,%r3                 # u32 *
363         jg      compat_sys_socketcall   # branch to system call
364
365 ENTRY(sys32_syslog_wrapper)
366         lgfr    %r2,%r2                 # int
367         llgtr   %r3,%r3                 # char *
368         lgfr    %r4,%r4                 # int
369         jg      sys_syslog              # branch to system call
370
371 ENTRY(compat_sys_newstat_wrapper)
372         llgtr   %r2,%r2                 # char *
373         llgtr   %r3,%r3                 # struct stat_emu31 *
374         jg      compat_sys_newstat      # branch to system call
375
376 ENTRY(compat_sys_newlstat_wrapper)
377         llgtr   %r2,%r2                 # char *
378         llgtr   %r3,%r3                 # struct stat_emu31 *
379         jg      compat_sys_newlstat     # branch to system call
380
381 ENTRY(compat_sys_newfstat_wrapper)
382         llgfr   %r2,%r2                 # unsigned int
383         llgtr   %r3,%r3                 # struct stat_emu31 *
384         jg      compat_sys_newfstat     # branch to system call
385
386 #sys32_vhangup_wrapper                  # void
387
388 ENTRY(sys32_swapoff_wrapper)
389         llgtr   %r2,%r2                 # const char *
390         jg      sys_swapoff             # branch to system call
391
392 ENTRY(compat_sys_sysinfo_wrapper)
393         llgtr   %r2,%r2                 # struct sysinfo_emu31 *
394         jg      compat_sys_sysinfo      # branch to system call
395
396 ENTRY(sys32_ipc_wrapper)
397         llgfr   %r2,%r2                 # uint
398         lgfr    %r3,%r3                 # int
399         lgfr    %r4,%r4                 # int
400         lgfr    %r5,%r5                 # int
401         llgfr   %r6,%r6                 # u32
402         jg      sys32_ipc               # branch to system call
403
404 ENTRY(sys32_fsync_wrapper)
405         llgfr   %r2,%r2                 # unsigned int
406         jg      sys_fsync               # branch to system call
407
408 #sys32_sigreturn_wrapper                # done in sigreturn_glue
409
410 #sys32_clone_wrapper                    # done in clone_glue
411
412 ENTRY(sys32_setdomainname_wrapper)
413         llgtr   %r2,%r2                 # char *
414         lgfr    %r3,%r3                 # int
415         jg      sys_setdomainname       # branch to system call
416
417 ENTRY(sys32_newuname_wrapper)
418         llgtr   %r2,%r2                 # struct new_utsname *
419         jg      sys_newuname            # branch to system call
420
421 ENTRY(compat_sys_adjtimex_wrapper)
422         llgtr   %r2,%r2                 # struct compat_timex *
423         jg      compat_sys_adjtimex     # branch to system call
424
425 ENTRY(sys32_mprotect_wrapper)
426         llgtr   %r2,%r2                 # unsigned long (actually pointer
427         llgfr   %r3,%r3                 # size_t
428         llgfr   %r4,%r4                 # unsigned long
429         jg      sys_mprotect            # branch to system call
430
431 ENTRY(sys_init_module_wrapper)
432         llgtr   %r2,%r2                 # void *
433         llgfr   %r3,%r3                 # unsigned long
434         llgtr   %r4,%r4                 # char *
435         jg      sys_init_module         # branch to system call
436
437 ENTRY(sys_delete_module_wrapper)
438         llgtr   %r2,%r2                 # const char *
439         llgfr   %r3,%r3                 # unsigned int
440         jg      sys_delete_module       # branch to system call
441
442 ENTRY(sys32_quotactl_wrapper)
443         llgfr   %r2,%r2                 # unsigned int
444         llgtr   %r3,%r3                 # const char *
445         llgfr   %r4,%r4                 # qid_t
446         llgtr   %r5,%r5                 # caddr_t
447         jg      sys_quotactl            # branch to system call
448
449 ENTRY(sys32_getpgid_wrapper)
450         lgfr    %r2,%r2                 # pid_t
451         jg      sys_getpgid             # branch to system call
452
453 ENTRY(sys32_fchdir_wrapper)
454         llgfr   %r2,%r2                 # unsigned int
455         jg      sys_fchdir              # branch to system call
456
457 ENTRY(sys32_bdflush_wrapper)
458         lgfr    %r2,%r2                 # int
459         lgfr    %r3,%r3                 # long
460         jg      sys_bdflush             # branch to system call
461
462 ENTRY(sys32_sysfs_wrapper)
463         lgfr    %r2,%r2                 # int
464         llgfr   %r3,%r3                 # unsigned long
465         llgfr   %r4,%r4                 # unsigned long
466         jg      sys_sysfs               # branch to system call
467
468 ENTRY(sys32_personality_wrapper)
469         llgfr   %r2,%r2                 # unsigned int
470         jg      sys_s390_personality    # branch to system call
471
472 ENTRY(sys32_setfsuid16_wrapper)
473         llgfr   %r2,%r2                 # __kernel_old_uid_emu31_t
474         jg      sys32_setfsuid16        # branch to system call
475
476 ENTRY(sys32_setfsgid16_wrapper)
477         llgfr   %r2,%r2                 # __kernel_old_gid_emu31_t
478         jg      sys32_setfsgid16        # branch to system call
479
480 ENTRY(sys32_llseek_wrapper)
481         llgfr   %r2,%r2                 # unsigned int
482         llgfr   %r3,%r3                 # unsigned long
483         llgfr   %r4,%r4                 # unsigned long
484         llgtr   %r5,%r5                 # loff_t *
485         llgfr   %r6,%r6                 # unsigned int
486         jg      sys_llseek              # branch to system call
487
488 ENTRY(sys32_getdents_wrapper)
489         llgfr   %r2,%r2                 # unsigned int
490         llgtr   %r3,%r3                 # void *
491         llgfr   %r4,%r4                 # unsigned int
492         jg      compat_sys_getdents     # branch to system call
493
494 ENTRY(compat_sys_select_wrapper)
495         lgfr    %r2,%r2                 # int
496         llgtr   %r3,%r3                 # compat_fd_set *
497         llgtr   %r4,%r4                 # compat_fd_set *
498         llgtr   %r5,%r5                 # compat_fd_set *
499         llgtr   %r6,%r6                 # struct compat_timeval *
500         jg      compat_sys_select       # branch to system call
501
502 ENTRY(sys32_flock_wrapper)
503         llgfr   %r2,%r2                 # unsigned int
504         llgfr   %r3,%r3                 # unsigned int
505         jg      sys_flock               # branch to system call
506
507 ENTRY(sys32_msync_wrapper)
508         llgfr   %r2,%r2                 # unsigned long
509         llgfr   %r3,%r3                 # size_t
510         lgfr    %r4,%r4                 # int
511         jg      sys_msync               # branch to system call
512
513 ENTRY(compat_sys_readv_wrapper)
514         lgfr    %r2,%r2                 # int
515         llgtr   %r3,%r3                 # const struct compat_iovec *
516         llgfr   %r4,%r4                 # unsigned long
517         jg      compat_sys_readv        # branch to system call
518
519 ENTRY(compat_sys_writev_wrapper)
520         lgfr    %r2,%r2                 # int
521         llgtr   %r3,%r3                 # const struct compat_iovec *
522         llgfr   %r4,%r4                 # unsigned long
523         jg      compat_sys_writev       # branch to system call
524
525 ENTRY(sys32_getsid_wrapper)
526         lgfr    %r2,%r2                 # pid_t
527         jg      sys_getsid              # branch to system call
528
529 ENTRY(sys32_fdatasync_wrapper)
530         llgfr   %r2,%r2                 # unsigned int
531         jg      sys_fdatasync           # branch to system call
532
533 ENTRY(sys32_mlock_wrapper)
534         llgfr   %r2,%r2                 # unsigned long
535         llgfr   %r3,%r3                 # size_t
536         jg      sys_mlock               # branch to system call
537
538 ENTRY(sys32_munlock_wrapper)
539         llgfr   %r2,%r2                 # unsigned long
540         llgfr   %r3,%r3                 # size_t
541         jg      sys_munlock             # branch to system call
542
543 ENTRY(sys32_mlockall_wrapper)
544         lgfr    %r2,%r2                 # int
545         jg      sys_mlockall            # branch to system call
546
547 #sys32_munlockall_wrapper               # void
548
549 ENTRY(sys32_sched_setparam_wrapper)
550         lgfr    %r2,%r2                 # pid_t
551         llgtr   %r3,%r3                 # struct sched_param *
552         jg      sys_sched_setparam      # branch to system call
553
554 ENTRY(sys32_sched_getparam_wrapper)
555         lgfr    %r2,%r2                 # pid_t
556         llgtr   %r3,%r3                 # struct sched_param *
557         jg      sys_sched_getparam      # branch to system call
558
559 ENTRY(sys32_sched_setscheduler_wrapper)
560         lgfr    %r2,%r2                 # pid_t
561         lgfr    %r3,%r3                 # int
562         llgtr   %r4,%r4                 # struct sched_param *
563         jg      sys_sched_setscheduler  # branch to system call
564
565 ENTRY(sys32_sched_getscheduler_wrapper)
566         lgfr    %r2,%r2                 # pid_t
567         jg      sys_sched_getscheduler  # branch to system call
568
569 #sys32_sched_yield_wrapper              # void
570
571 ENTRY(sys32_sched_get_priority_max_wrapper)
572         lgfr    %r2,%r2                 # int
573         jg      sys_sched_get_priority_max      # branch to system call
574
575 ENTRY(sys32_sched_get_priority_min_wrapper)
576         lgfr    %r2,%r2                 # int
577         jg      sys_sched_get_priority_min      # branch to system call
578
579 ENTRY(compat_sys_nanosleep_wrapper)
580         llgtr   %r2,%r2                 # struct compat_timespec *
581         llgtr   %r3,%r3                 # struct compat_timespec *
582         jg      compat_sys_nanosleep            # branch to system call
583
584 ENTRY(sys32_mremap_wrapper)
585         llgfr   %r2,%r2                 # unsigned long
586         llgfr   %r3,%r3                 # unsigned long
587         llgfr   %r4,%r4                 # unsigned long
588         llgfr   %r5,%r5                 # unsigned long
589         llgfr   %r6,%r6                 # unsigned long
590         jg      sys_mremap              # branch to system call
591
592 ENTRY(sys32_setresuid16_wrapper)
593         llgfr   %r2,%r2                 # __kernel_old_uid_emu31_t
594         llgfr   %r3,%r3                 # __kernel_old_uid_emu31_t
595         llgfr   %r4,%r4                 # __kernel_old_uid_emu31_t
596         jg      sys32_setresuid16       # branch to system call
597
598 ENTRY(sys32_getresuid16_wrapper)
599         llgtr   %r2,%r2                 # __kernel_old_uid_emu31_t *
600         llgtr   %r3,%r3                 # __kernel_old_uid_emu31_t *
601         llgtr   %r4,%r4                 # __kernel_old_uid_emu31_t *
602         jg      sys32_getresuid16       # branch to system call
603
604 ENTRY(sys32_poll_wrapper)
605         llgtr   %r2,%r2                 # struct pollfd *
606         llgfr   %r3,%r3                 # unsigned int
607         lgfr    %r4,%r4                 # int
608         jg      sys_poll                # branch to system call
609
610 ENTRY(sys32_setresgid16_wrapper)
611         llgfr   %r2,%r2                 # __kernel_old_gid_emu31_t
612         llgfr   %r3,%r3                 # __kernel_old_gid_emu31_t
613         llgfr   %r4,%r4                 # __kernel_old_gid_emu31_t
614         jg      sys32_setresgid16       # branch to system call
615
616 ENTRY(sys32_getresgid16_wrapper)
617         llgtr   %r2,%r2                 # __kernel_old_gid_emu31_t *
618         llgtr   %r3,%r3                 # __kernel_old_gid_emu31_t *
619         llgtr   %r4,%r4                 # __kernel_old_gid_emu31_t *
620         jg      sys32_getresgid16       # branch to system call
621
622 ENTRY(sys32_prctl_wrapper)
623         lgfr    %r2,%r2                 # int
624         llgfr   %r3,%r3                 # unsigned long
625         llgfr   %r4,%r4                 # unsigned long
626         llgfr   %r5,%r5                 # unsigned long
627         llgfr   %r6,%r6                 # unsigned long
628         jg      sys_prctl               # branch to system call
629
630 #sys32_rt_sigreturn_wrapper             # done in rt_sigreturn_glue
631
632 ENTRY(sys32_pread64_wrapper)
633         llgfr   %r2,%r2                 # unsigned int
634         llgtr   %r3,%r3                 # char *
635         llgfr   %r4,%r4                 # size_t
636         llgfr   %r5,%r5                 # u32
637         llgfr   %r6,%r6                 # u32
638         jg      sys32_pread64           # branch to system call
639
640 ENTRY(sys32_pwrite64_wrapper)
641         llgfr   %r2,%r2                 # unsigned int
642         llgtr   %r3,%r3                 # const char *
643         llgfr   %r4,%r4                 # size_t
644         llgfr   %r5,%r5                 # u32
645         llgfr   %r6,%r6                 # u32
646         jg      sys32_pwrite64          # branch to system call
647
648 ENTRY(sys32_chown16_wrapper)
649         llgtr   %r2,%r2                 # const char *
650         llgfr   %r3,%r3                 # __kernel_old_uid_emu31_t
651         llgfr   %r4,%r4                 # __kernel_old_gid_emu31_t
652         jg      sys32_chown16           # branch to system call
653
654 ENTRY(sys32_getcwd_wrapper)
655         llgtr   %r2,%r2                 # char *
656         llgfr   %r3,%r3                 # unsigned long
657         jg      sys_getcwd              # branch to system call
658
659 ENTRY(sys32_capget_wrapper)
660         llgtr   %r2,%r2                 # cap_user_header_t
661         llgtr   %r3,%r3                 # cap_user_data_t
662         jg      sys_capget              # branch to system call
663
664 ENTRY(sys32_capset_wrapper)
665         llgtr   %r2,%r2                 # cap_user_header_t
666         llgtr   %r3,%r3                 # const cap_user_data_t
667         jg      sys_capset              # branch to system call
668
669 ENTRY(sys32_sendfile_wrapper)
670         lgfr    %r2,%r2                 # int
671         lgfr    %r3,%r3                 # int
672         llgtr   %r4,%r4                 # __kernel_off_emu31_t *
673         llgfr   %r5,%r5                 # size_t
674         jg      sys32_sendfile          # branch to system call
675
676 #sys32_vfork_wrapper                    # done in vfork_glue
677
678 ENTRY(sys32_truncate64_wrapper)
679         llgtr   %r2,%r2                 # const char *
680         llgfr   %r3,%r3                 # unsigned long
681         llgfr   %r4,%r4                 # unsigned long
682         jg      sys32_truncate64        # branch to system call
683
684 ENTRY(sys32_ftruncate64_wrapper)
685         llgfr   %r2,%r2                 # unsigned int
686         llgfr   %r3,%r3                 # unsigned long
687         llgfr   %r4,%r4                 # unsigned long
688         jg      sys32_ftruncate64       # branch to system call
689
690 ENTRY(sys32_lchown_wrapper)
691         llgtr   %r2,%r2                 # const char *
692         llgfr   %r3,%r3                 # uid_t
693         llgfr   %r4,%r4                 # gid_t
694         jg      sys_lchown              # branch to system call
695
696 #sys32_getuid_wrapper                   # void
697 #sys32_getgid_wrapper                   # void
698 #sys32_geteuid_wrapper                  # void
699 #sys32_getegid_wrapper                  # void
700
701 ENTRY(sys32_setreuid_wrapper)
702         llgfr   %r2,%r2                 # uid_t
703         llgfr   %r3,%r3                 # uid_t
704         jg      sys_setreuid            # branch to system call
705
706 ENTRY(sys32_setregid_wrapper)
707         llgfr   %r2,%r2                 # gid_t
708         llgfr   %r3,%r3                 # gid_t
709         jg      sys_setregid            # branch to system call
710
711 ENTRY(sys32_getgroups_wrapper)
712         lgfr    %r2,%r2                 # int
713         llgtr   %r3,%r3                 # gid_t *
714         jg      sys_getgroups           # branch to system call
715
716 ENTRY(sys32_setgroups_wrapper)
717         lgfr    %r2,%r2                 # int
718         llgtr   %r3,%r3                 # gid_t *
719         jg      sys_setgroups           # branch to system call
720
721 ENTRY(sys32_fchown_wrapper)
722         llgfr   %r2,%r2                 # unsigned int
723         llgfr   %r3,%r3                 # uid_t
724         llgfr   %r4,%r4                 # gid_t
725         jg      sys_fchown              # branch to system call
726
727 ENTRY(sys32_setresuid_wrapper)
728         llgfr   %r2,%r2                 # uid_t
729         llgfr   %r3,%r3                 # uid_t
730         llgfr   %r4,%r4                 # uid_t
731         jg      sys_setresuid           # branch to system call
732
733 ENTRY(sys32_getresuid_wrapper)
734         llgtr   %r2,%r2                 # uid_t *
735         llgtr   %r3,%r3                 # uid_t *
736         llgtr   %r4,%r4                 # uid_t *
737         jg      sys_getresuid           # branch to system call
738
739 ENTRY(sys32_setresgid_wrapper)
740         llgfr   %r2,%r2                 # gid_t
741         llgfr   %r3,%r3                 # gid_t
742         llgfr   %r4,%r4                 # gid_t
743         jg      sys_setresgid           # branch to system call
744
745 ENTRY(sys32_getresgid_wrapper)
746         llgtr   %r2,%r2                 # gid_t *
747         llgtr   %r3,%r3                 # gid_t *
748         llgtr   %r4,%r4                 # gid_t *
749         jg      sys_getresgid           # branch to system call
750
751 ENTRY(sys32_chown_wrapper)
752         llgtr   %r2,%r2                 # const char *
753         llgfr   %r3,%r3                 # uid_t
754         llgfr   %r4,%r4                 # gid_t
755         jg      sys_chown               # branch to system call
756
757 ENTRY(sys32_setuid_wrapper)
758         llgfr   %r2,%r2                 # uid_t
759         jg      sys_setuid              # branch to system call
760
761 ENTRY(sys32_setgid_wrapper)
762         llgfr   %r2,%r2                 # gid_t
763         jg      sys_setgid              # branch to system call
764
765 ENTRY(sys32_setfsuid_wrapper)
766         llgfr   %r2,%r2                 # uid_t
767         jg      sys_setfsuid            # branch to system call
768
769 ENTRY(sys32_setfsgid_wrapper)
770         llgfr   %r2,%r2                 # gid_t
771         jg      sys_setfsgid            # branch to system call
772
773 ENTRY(sys32_pivot_root_wrapper)
774         llgtr   %r2,%r2                 # const char *
775         llgtr   %r3,%r3                 # const char *
776         jg      sys_pivot_root          # branch to system call
777
778 ENTRY(sys32_mincore_wrapper)
779         llgfr   %r2,%r2                 # unsigned long
780         llgfr   %r3,%r3                 # size_t
781         llgtr   %r4,%r4                 # unsigned char *
782         jg      sys_mincore             # branch to system call
783
784 ENTRY(sys32_madvise_wrapper)
785         llgfr   %r2,%r2                 # unsigned long
786         llgfr   %r3,%r3                 # size_t
787         lgfr    %r4,%r4                 # int
788         jg      sys_madvise             # branch to system call
789
790 ENTRY(sys32_getdents64_wrapper)
791         llgfr   %r2,%r2                 # unsigned int
792         llgtr   %r3,%r3                 # void *
793         llgfr   %r4,%r4                 # unsigned int
794         jg      sys_getdents64          # branch to system call
795
796 ENTRY(compat_sys_fcntl64_wrapper)
797         llgfr   %r2,%r2                 # unsigned int
798         llgfr   %r3,%r3                 # unsigned int
799         llgfr   %r4,%r4                 # unsigned long
800         jg      compat_sys_fcntl64      # branch to system call
801
802 ENTRY(sys32_stat64_wrapper)
803         llgtr   %r2,%r2                 # char *
804         llgtr   %r3,%r3                 # struct stat64 *
805         jg      sys32_stat64            # branch to system call
806
807 ENTRY(sys32_lstat64_wrapper)
808         llgtr   %r2,%r2                 # char *
809         llgtr   %r3,%r3                 # struct stat64 *
810         jg      sys32_lstat64           # branch to system call
811
812 ENTRY(sys32_stime_wrapper)
813         llgtr   %r2,%r2                 # long *
814         jg      compat_sys_stime        # branch to system call
815
816 ENTRY(sys32_sysctl_wrapper)
817         llgtr   %r2,%r2                 # struct compat_sysctl_args *
818         jg      compat_sys_sysctl
819
820 ENTRY(sys32_fstat64_wrapper)
821         llgfr   %r2,%r2                 # unsigned long
822         llgtr   %r3,%r3                 # struct stat64 *
823         jg      sys32_fstat64           # branch to system call
824
825 ENTRY(sys32_setxattr_wrapper)
826         llgtr   %r2,%r2                 # char *
827         llgtr   %r3,%r3                 # char *
828         llgtr   %r4,%r4                 # void *
829         llgfr   %r5,%r5                 # size_t
830         lgfr    %r6,%r6                 # int
831         jg      sys_setxattr
832
833 ENTRY(sys32_lsetxattr_wrapper)
834         llgtr   %r2,%r2                 # char *
835         llgtr   %r3,%r3                 # char *
836         llgtr   %r4,%r4                 # void *
837         llgfr   %r5,%r5                 # size_t
838         lgfr    %r6,%r6                 # int
839         jg      sys_lsetxattr
840
841 ENTRY(sys32_fsetxattr_wrapper)
842         lgfr    %r2,%r2                 # int
843         llgtr   %r3,%r3                 # char *
844         llgtr   %r4,%r4                 # void *
845         llgfr   %r5,%r5                 # size_t
846         lgfr    %r6,%r6                 # int
847         jg      sys_fsetxattr
848
849 ENTRY(sys32_getxattr_wrapper)
850         llgtr   %r2,%r2                 # char *
851         llgtr   %r3,%r3                 # char *
852         llgtr   %r4,%r4                 # void *
853         llgfr   %r5,%r5                 # size_t
854         jg      sys_getxattr
855
856 ENTRY(sys32_lgetxattr_wrapper)
857         llgtr   %r2,%r2                 # char *
858         llgtr   %r3,%r3                 # char *
859         llgtr   %r4,%r4                 # void *
860         llgfr   %r5,%r5                 # size_t
861         jg      sys_lgetxattr
862
863 ENTRY(sys32_fgetxattr_wrapper)
864         lgfr    %r2,%r2                 # int
865         llgtr   %r3,%r3                 # char *
866         llgtr   %r4,%r4                 # void *
867         llgfr   %r5,%r5                 # size_t
868         jg      sys_fgetxattr
869
870 ENTRY(sys32_listxattr_wrapper)
871         llgtr   %r2,%r2                 # char *
872         llgtr   %r3,%r3                 # char *
873         llgfr   %r4,%r4                 # size_t
874         jg      sys_listxattr
875
876 ENTRY(sys32_llistxattr_wrapper)
877         llgtr   %r2,%r2                 # char *
878         llgtr   %r3,%r3                 # char *
879         llgfr   %r4,%r4                 # size_t
880         jg      sys_llistxattr
881
882 ENTRY(sys32_flistxattr_wrapper)
883         lgfr    %r2,%r2                 # int
884         llgtr   %r3,%r3                 # char *
885         llgfr   %r4,%r4                 # size_t
886         jg      sys_flistxattr
887
888 ENTRY(sys32_removexattr_wrapper)
889         llgtr   %r2,%r2                 # char *
890         llgtr   %r3,%r3                 # char *
891         jg      sys_removexattr
892
893 ENTRY(sys32_lremovexattr_wrapper)
894         llgtr   %r2,%r2                 # char *
895         llgtr   %r3,%r3                 # char *
896         jg      sys_lremovexattr
897
898 ENTRY(sys32_fremovexattr_wrapper)
899         lgfr    %r2,%r2                 # int
900         llgtr   %r3,%r3                 # char *
901         jg      sys_fremovexattr
902
903 ENTRY(sys32_sched_setaffinity_wrapper)
904         lgfr    %r2,%r2                 # int
905         llgfr   %r3,%r3                 # unsigned int
906         llgtr   %r4,%r4                 # unsigned long *
907         jg      compat_sys_sched_setaffinity
908
909 ENTRY(sys32_sched_getaffinity_wrapper)
910         lgfr    %r2,%r2                 # int
911         llgfr   %r3,%r3                 # unsigned int
912         llgtr   %r4,%r4                 # unsigned long *
913         jg      compat_sys_sched_getaffinity
914
915 ENTRY(sys32_exit_group_wrapper)
916         lgfr    %r2,%r2                 # int
917         jg      sys_exit_group          # branch to system call
918
919 ENTRY(sys32_set_tid_address_wrapper)
920         llgtr   %r2,%r2                 # int *
921         jg      sys_set_tid_address     # branch to system call
922
923 ENTRY(sys_epoll_create_wrapper)
924         lgfr    %r2,%r2                 # int
925         jg      sys_epoll_create        # branch to system call
926
927 ENTRY(sys_epoll_ctl_wrapper)
928         lgfr    %r2,%r2                 # int
929         lgfr    %r3,%r3                 # int
930         lgfr    %r4,%r4                 # int
931         llgtr   %r5,%r5                 # struct epoll_event *
932         jg      sys_epoll_ctl           # branch to system call
933
934 ENTRY(sys_epoll_wait_wrapper)
935         lgfr    %r2,%r2                 # int
936         llgtr   %r3,%r3                 # struct epoll_event *
937         lgfr    %r4,%r4                 # int
938         lgfr    %r5,%r5                 # int
939         jg      sys_epoll_wait          # branch to system call
940
941 ENTRY(sys32_lookup_dcookie_wrapper)
942         sllg    %r2,%r2,32              # get high word of 64bit dcookie
943         or      %r2,%r3                 # get low word of 64bit dcookie
944         llgtr   %r3,%r4                 # char *
945         llgfr   %r4,%r5                 # size_t
946         jg      sys_lookup_dcookie
947
948 ENTRY(sys32_fadvise64_wrapper)
949         lgfr    %r2,%r2                 # int
950         sllg    %r3,%r3,32              # get high word of 64bit loff_t
951         or      %r3,%r4                 # get low word of 64bit loff_t
952         llgfr   %r4,%r5                 # size_t (unsigned long)
953         lgfr    %r5,%r6                 # int
954         jg      sys32_fadvise64
955
956 ENTRY(sys32_fadvise64_64_wrapper)
957         llgtr   %r2,%r2                 # struct fadvise64_64_args *
958         jg      sys32_fadvise64_64
959
960 ENTRY(sys32_clock_settime_wrapper)
961         lgfr    %r2,%r2                 # clockid_t (int)
962         llgtr   %r3,%r3                 # struct compat_timespec *
963         jg      compat_sys_clock_settime
964
965 ENTRY(sys32_clock_gettime_wrapper)
966         lgfr    %r2,%r2                 # clockid_t (int)
967         llgtr   %r3,%r3                 # struct compat_timespec *
968         jg      compat_sys_clock_gettime
969
970 ENTRY(sys32_clock_getres_wrapper)
971         lgfr    %r2,%r2                 # clockid_t (int)
972         llgtr   %r3,%r3                 # struct compat_timespec *
973         jg      compat_sys_clock_getres
974
975 ENTRY(sys32_clock_nanosleep_wrapper)
976         lgfr    %r2,%r2                 # clockid_t (int)
977         lgfr    %r3,%r3                 # int
978         llgtr   %r4,%r4                 # struct compat_timespec *
979         llgtr   %r5,%r5                 # struct compat_timespec *
980         jg      compat_sys_clock_nanosleep
981
982 ENTRY(sys32_timer_create_wrapper)
983         lgfr    %r2,%r2                 # timer_t (int)
984         llgtr   %r3,%r3                 # struct compat_sigevent *
985         llgtr   %r4,%r4                 # timer_t *
986         jg      compat_sys_timer_create
987
988 ENTRY(sys32_timer_settime_wrapper)
989         lgfr    %r2,%r2                 # timer_t (int)
990         lgfr    %r3,%r3                 # int
991         llgtr   %r4,%r4                 # struct compat_itimerspec *
992         llgtr   %r5,%r5                 # struct compat_itimerspec *
993         jg      compat_sys_timer_settime
994
995 ENTRY(sys32_timer_gettime_wrapper)
996         lgfr    %r2,%r2                 # timer_t (int)
997         llgtr   %r3,%r3                 # struct compat_itimerspec *
998         jg      compat_sys_timer_gettime
999
1000 ENTRY(sys32_timer_getoverrun_wrapper)
1001         lgfr    %r2,%r2                 # timer_t (int)
1002         jg      sys_timer_getoverrun
1003
1004 ENTRY(sys32_timer_delete_wrapper)
1005         lgfr    %r2,%r2                 # timer_t (int)
1006         jg      sys_timer_delete
1007
1008 ENTRY(sys32_io_setup_wrapper)
1009         llgfr   %r2,%r2                 # unsigned int
1010         llgtr   %r3,%r3                 # u32 *
1011         jg      compat_sys_io_setup
1012
1013 ENTRY(sys32_io_destroy_wrapper)
1014         llgfr   %r2,%r2                 # (aio_context_t) u32
1015         jg      sys_io_destroy
1016
1017 ENTRY(sys32_io_getevents_wrapper)
1018         llgfr   %r2,%r2                 # (aio_context_t) u32
1019         lgfr    %r3,%r3                 # long
1020         lgfr    %r4,%r4                 # long
1021         llgtr   %r5,%r5                 # struct io_event *
1022         llgtr   %r6,%r6                 # struct compat_timespec *
1023         jg      compat_sys_io_getevents
1024
1025 ENTRY(sys32_io_submit_wrapper)
1026         llgfr   %r2,%r2                 # (aio_context_t) u32
1027         lgfr    %r3,%r3                 # long
1028         llgtr   %r4,%r4                 # struct iocb **
1029         jg      compat_sys_io_submit
1030
1031 ENTRY(sys32_io_cancel_wrapper)
1032         llgfr   %r2,%r2                 # (aio_context_t) u32
1033         llgtr   %r3,%r3                 # struct iocb *
1034         llgtr   %r4,%r4                 # struct io_event *
1035         jg      sys_io_cancel
1036
1037 ENTRY(compat_sys_statfs64_wrapper)
1038         llgtr   %r2,%r2                 # const char *
1039         llgfr   %r3,%r3                 # compat_size_t
1040         llgtr   %r4,%r4                 # struct compat_statfs64 *
1041         jg      compat_sys_statfs64
1042
1043 ENTRY(compat_sys_fstatfs64_wrapper)
1044         llgfr   %r2,%r2                 # unsigned int fd
1045         llgfr   %r3,%r3                 # compat_size_t
1046         llgtr   %r4,%r4                 # struct compat_statfs64 *
1047         jg      compat_sys_fstatfs64
1048
1049 ENTRY(compat_sys_mq_open_wrapper)
1050         llgtr   %r2,%r2                 # const char *
1051         lgfr    %r3,%r3                 # int
1052         llgfr   %r4,%r4                 # mode_t
1053         llgtr   %r5,%r5                 # struct compat_mq_attr *
1054         jg      compat_sys_mq_open
1055
1056 ENTRY(sys32_mq_unlink_wrapper)
1057         llgtr   %r2,%r2                 # const char *
1058         jg      sys_mq_unlink
1059
1060 ENTRY(compat_sys_mq_timedsend_wrapper)
1061         lgfr    %r2,%r2                 # mqd_t
1062         llgtr   %r3,%r3                 # const char *
1063         llgfr   %r4,%r4                 # size_t
1064         llgfr   %r5,%r5                 # unsigned int
1065         llgtr   %r6,%r6                 # const struct compat_timespec *
1066         jg      compat_sys_mq_timedsend
1067
1068 ENTRY(compat_sys_mq_timedreceive_wrapper)
1069         lgfr    %r2,%r2                 # mqd_t
1070         llgtr   %r3,%r3                 # char *
1071         llgfr   %r4,%r4                 # size_t
1072         llgtr   %r5,%r5                 # unsigned int *
1073         llgtr   %r6,%r6                 # const struct compat_timespec *
1074         jg      compat_sys_mq_timedreceive
1075
1076 ENTRY(compat_sys_mq_notify_wrapper)
1077         lgfr    %r2,%r2                 # mqd_t
1078         llgtr   %r3,%r3                 # struct compat_sigevent *
1079         jg      compat_sys_mq_notify
1080
1081 ENTRY(compat_sys_mq_getsetattr_wrapper)
1082         lgfr    %r2,%r2                 # mqd_t
1083         llgtr   %r3,%r3                 # struct compat_mq_attr *
1084         llgtr   %r4,%r4                 # struct compat_mq_attr *
1085         jg      compat_sys_mq_getsetattr
1086
1087 ENTRY(compat_sys_add_key_wrapper)
1088         llgtr   %r2,%r2                 # const char *
1089         llgtr   %r3,%r3                 # const char *
1090         llgtr   %r4,%r4                 # const void *
1091         llgfr   %r5,%r5                 # size_t
1092         llgfr   %r6,%r6                 # (key_serial_t) u32
1093         jg      sys_add_key
1094
1095 ENTRY(compat_sys_request_key_wrapper)
1096         llgtr   %r2,%r2                 # const char *
1097         llgtr   %r3,%r3                 # const char *
1098         llgtr   %r4,%r4                 # const void *
1099         llgfr   %r5,%r5                 # (key_serial_t) u32
1100         jg      sys_request_key
1101
1102 ENTRY(sys32_remap_file_pages_wrapper)
1103         llgfr   %r2,%r2                 # unsigned long
1104         llgfr   %r3,%r3                 # unsigned long
1105         llgfr   %r4,%r4                 # unsigned long
1106         llgfr   %r5,%r5                 # unsigned long
1107         llgfr   %r6,%r6                 # unsigned long
1108         jg      sys_remap_file_pages
1109
1110 ENTRY(compat_sys_kexec_load_wrapper)
1111         llgfr   %r2,%r2                 # unsigned long
1112         llgfr   %r3,%r3                 # unsigned long
1113         llgtr   %r4,%r4                 # struct kexec_segment *
1114         llgfr   %r5,%r5                 # unsigned long
1115         jg      compat_sys_kexec_load
1116
1117 ENTRY(sys_ioprio_set_wrapper)
1118         lgfr    %r2,%r2                 # int
1119         lgfr    %r3,%r3                 # int
1120         lgfr    %r4,%r4                 # int
1121         jg      sys_ioprio_set
1122
1123 ENTRY(sys_ioprio_get_wrapper)
1124         lgfr    %r2,%r2                 # int
1125         lgfr    %r3,%r3                 # int
1126         jg      sys_ioprio_get
1127
1128 ENTRY(sys_inotify_add_watch_wrapper)
1129         lgfr    %r2,%r2                 # int
1130         llgtr   %r3,%r3                 # const char *
1131         llgfr   %r4,%r4                 # u32
1132         jg      sys_inotify_add_watch
1133
1134 ENTRY(sys_inotify_rm_watch_wrapper)
1135         lgfr    %r2,%r2                 # int
1136         llgfr   %r3,%r3                 # u32
1137         jg      sys_inotify_rm_watch
1138
1139 ENTRY(sys_mkdirat_wrapper)
1140         lgfr    %r2,%r2                 # int
1141         llgtr   %r3,%r3                 # const char *
1142         lgfr    %r4,%r4                 # int
1143         jg      sys_mkdirat
1144
1145 ENTRY(sys_mknodat_wrapper)
1146         lgfr    %r2,%r2                 # int
1147         llgtr   %r3,%r3                 # const char *
1148         lgfr    %r4,%r4                 # int
1149         llgfr   %r5,%r5                 # unsigned int
1150         jg      sys_mknodat
1151
1152 ENTRY(sys_fchownat_wrapper)
1153         lgfr    %r2,%r2                 # int
1154         llgtr   %r3,%r3                 # const char *
1155         llgfr   %r4,%r4                 # uid_t
1156         llgfr   %r5,%r5                 # gid_t
1157         lgfr    %r6,%r6                 # int
1158         jg      sys_fchownat
1159
1160 ENTRY(compat_sys_futimesat_wrapper)
1161         llgfr   %r2,%r2                 # unsigned int
1162         llgtr   %r3,%r3                 # char *
1163         llgtr   %r4,%r4                 # struct timeval *
1164         jg      compat_sys_futimesat
1165
1166 ENTRY(sys32_fstatat64_wrapper)
1167         llgfr   %r2,%r2                 # unsigned int
1168         llgtr   %r3,%r3                 # char *
1169         llgtr   %r4,%r4                 # struct stat64 *
1170         lgfr    %r5,%r5                 # int
1171         jg      sys32_fstatat64
1172
1173 ENTRY(sys_unlinkat_wrapper)
1174         lgfr    %r2,%r2                 # int
1175         llgtr   %r3,%r3                 # const char *
1176         lgfr    %r4,%r4                 # int
1177         jg      sys_unlinkat
1178
1179 ENTRY(sys_renameat_wrapper)
1180         lgfr    %r2,%r2                 # int
1181         llgtr   %r3,%r3                 # const char *
1182         lgfr    %r4,%r4                 # int
1183         llgtr   %r5,%r5                 # const char *
1184         jg      sys_renameat
1185
1186 ENTRY(sys_linkat_wrapper)
1187         lgfr    %r2,%r2                 # int
1188         llgtr   %r3,%r3                 # const char *
1189         lgfr    %r4,%r4                 # int
1190         llgtr   %r5,%r5                 # const char *
1191         lgfr    %r6,%r6                 # int
1192         jg      sys_linkat
1193
1194 ENTRY(sys_symlinkat_wrapper)
1195         llgtr   %r2,%r2                 # const char *
1196         lgfr    %r3,%r3                 # int
1197         llgtr   %r4,%r4                 # const char *
1198         jg      sys_symlinkat
1199
1200 ENTRY(sys_readlinkat_wrapper)
1201         lgfr    %r2,%r2                 # int
1202         llgtr   %r3,%r3                 # const char *
1203         llgtr   %r4,%r4                 # char *
1204         lgfr    %r5,%r5                 # int
1205         jg      sys_readlinkat
1206
1207 ENTRY(sys_fchmodat_wrapper)
1208         lgfr    %r2,%r2                 # int
1209         llgtr   %r3,%r3                 # const char *
1210         llgfr   %r4,%r4                 # mode_t
1211         jg      sys_fchmodat
1212
1213 ENTRY(sys_faccessat_wrapper)
1214         lgfr    %r2,%r2                 # int
1215         llgtr   %r3,%r3                 # const char *
1216         lgfr    %r4,%r4                 # int
1217         jg      sys_faccessat
1218
1219 ENTRY(compat_sys_pselect6_wrapper)
1220         lgfr    %r2,%r2                 # int
1221         llgtr   %r3,%r3                 # fd_set *
1222         llgtr   %r4,%r4                 # fd_set *
1223         llgtr   %r5,%r5                 # fd_set *
1224         llgtr   %r6,%r6                 # struct timespec *
1225         llgt    %r0,164(%r15)           # void *
1226         stg     %r0,160(%r15)
1227         jg      compat_sys_pselect6
1228
1229 ENTRY(compat_sys_ppoll_wrapper)
1230         llgtr   %r2,%r2                 # struct pollfd *
1231         llgfr   %r3,%r3                 # unsigned int
1232         llgtr   %r4,%r4                 # struct timespec *
1233         llgtr   %r5,%r5                 # const sigset_t *
1234         llgfr   %r6,%r6                 # size_t
1235         jg      compat_sys_ppoll
1236
1237 ENTRY(sys_unshare_wrapper)
1238         llgfr   %r2,%r2                 # unsigned long
1239         jg      sys_unshare
1240
1241 ENTRY(sys_splice_wrapper)
1242         lgfr    %r2,%r2                 # int
1243         llgtr   %r3,%r3                 # loff_t *
1244         lgfr    %r4,%r4                 # int
1245         llgtr   %r5,%r5                 # loff_t *
1246         llgfr   %r6,%r6                 # size_t
1247         llgf    %r0,164(%r15)           # unsigned int
1248         stg     %r0,160(%r15)
1249         jg      sys_splice
1250
1251 ENTRY(sys_sync_file_range_wrapper)
1252         lgfr    %r2,%r2                 # int
1253         sllg    %r3,%r3,32              # get high word of 64bit loff_t
1254         or      %r3,%r4                 # get low word of 64bit loff_t
1255         sllg    %r4,%r5,32              # get high word of 64bit loff_t
1256         or      %r4,%r6                 # get low word of 64bit loff_t
1257         llgf    %r5,164(%r15)           # unsigned int
1258         jg      sys_sync_file_range
1259
1260 ENTRY(sys_tee_wrapper)
1261         lgfr    %r2,%r2                 # int
1262         lgfr    %r3,%r3                 # int
1263         llgfr   %r4,%r4                 # size_t
1264         llgfr   %r5,%r5                 # unsigned int
1265         jg      sys_tee
1266
1267 ENTRY(compat_sys_vmsplice_wrapper)
1268         lgfr    %r2,%r2                 # int
1269         llgtr   %r3,%r3                 # compat_iovec *
1270         llgfr   %r4,%r4                 # unsigned int
1271         llgfr   %r5,%r5                 # unsigned int
1272         jg      compat_sys_vmsplice
1273
1274 ENTRY(sys_getcpu_wrapper)
1275         llgtr   %r2,%r2                 # unsigned *
1276         llgtr   %r3,%r3                 # unsigned *
1277         llgtr   %r4,%r4                 # struct getcpu_cache *
1278         jg      sys_getcpu
1279
1280 ENTRY(compat_sys_epoll_pwait_wrapper)
1281         lgfr    %r2,%r2                 # int
1282         llgtr   %r3,%r3                 # struct compat_epoll_event *
1283         lgfr    %r4,%r4                 # int
1284         lgfr    %r5,%r5                 # int
1285         llgtr   %r6,%r6                 # compat_sigset_t *
1286         llgf    %r0,164(%r15)           # compat_size_t
1287         stg     %r0,160(%r15)
1288         jg      compat_sys_epoll_pwait
1289
1290 ENTRY(compat_sys_utimes_wrapper)
1291         llgtr   %r2,%r2                 # char *
1292         llgtr   %r3,%r3                 # struct compat_timeval *
1293         jg      compat_sys_utimes
1294
1295 ENTRY(compat_sys_utimensat_wrapper)
1296         llgfr   %r2,%r2                 # unsigned int
1297         llgtr   %r3,%r3                 # char *
1298         llgtr   %r4,%r4                 # struct compat_timespec *
1299         lgfr    %r5,%r5                 # int
1300         jg      compat_sys_utimensat
1301
1302 ENTRY(compat_sys_signalfd_wrapper)
1303         lgfr    %r2,%r2                 # int
1304         llgtr   %r3,%r3                 # compat_sigset_t *
1305         llgfr   %r4,%r4                 # compat_size_t
1306         jg      compat_sys_signalfd
1307
1308 ENTRY(sys_eventfd_wrapper)
1309         llgfr   %r2,%r2                 # unsigned int
1310         jg      sys_eventfd
1311
1312 ENTRY(sys_fallocate_wrapper)
1313         lgfr    %r2,%r2                 # int
1314         lgfr    %r3,%r3                 # int
1315         sllg    %r4,%r4,32              # get high word of 64bit loff_t
1316         lr      %r4,%r5                 # get low word of 64bit loff_t
1317         sllg    %r5,%r6,32              # get high word of 64bit loff_t
1318         l       %r5,164(%r15)           # get low word of 64bit loff_t
1319         jg      sys_fallocate
1320
1321 ENTRY(sys_timerfd_create_wrapper)
1322         lgfr    %r2,%r2                 # int
1323         lgfr    %r3,%r3                 # int
1324         jg      sys_timerfd_create
1325
1326 ENTRY(compat_sys_signalfd4_wrapper)
1327         lgfr    %r2,%r2                 # int
1328         llgtr   %r3,%r3                 # compat_sigset_t *
1329         llgfr   %r4,%r4                 # compat_size_t
1330         lgfr    %r5,%r5                 # int
1331         jg      compat_sys_signalfd4
1332
1333 ENTRY(sys_eventfd2_wrapper)
1334         llgfr   %r2,%r2                 # unsigned int
1335         lgfr    %r3,%r3                 # int
1336         jg      sys_eventfd2
1337
1338 ENTRY(sys_inotify_init1_wrapper)
1339         lgfr    %r2,%r2                 # int
1340         jg      sys_inotify_init1
1341
1342 ENTRY(sys_pipe2_wrapper)
1343         llgtr   %r2,%r2                 # u32 *
1344         lgfr    %r3,%r3                 # int
1345         jg      sys_pipe2               # branch to system call
1346
1347 ENTRY(sys_dup3_wrapper)
1348         llgfr   %r2,%r2                 # unsigned int
1349         llgfr   %r3,%r3                 # unsigned int
1350         lgfr    %r4,%r4                 # int
1351         jg      sys_dup3                # branch to system call
1352
1353 ENTRY(sys_epoll_create1_wrapper)
1354         lgfr    %r2,%r2                 # int
1355         jg      sys_epoll_create1       # branch to system call
1356
1357 ENTRY(sys32_readahead_wrapper)
1358         lgfr    %r2,%r2                 # int
1359         llgfr   %r3,%r3                 # u32
1360         llgfr   %r4,%r4                 # u32
1361         lgfr    %r5,%r5                 # s32
1362         jg      sys32_readahead         # branch to system call
1363
1364 ENTRY(sys32_sendfile64_wrapper)
1365         lgfr    %r2,%r2                 # int
1366         lgfr    %r3,%r3                 # int
1367         llgtr   %r4,%r4                 # compat_loff_t *
1368         lgfr    %r5,%r5                 # s32
1369         jg      sys32_sendfile64        # branch to system call
1370
1371 ENTRY(sys_tkill_wrapper)
1372         lgfr    %r2,%r2                 # pid_t
1373         lgfr    %r3,%r3                 # int
1374         jg      sys_tkill               # branch to system call
1375
1376 ENTRY(sys_tgkill_wrapper)
1377         lgfr    %r2,%r2                 # pid_t
1378         lgfr    %r3,%r3                 # pid_t
1379         lgfr    %r4,%r4                 # int
1380         jg      sys_tgkill              # branch to system call
1381
1382 ENTRY(compat_sys_keyctl_wrapper)
1383         llgfr   %r2,%r2                 # u32
1384         llgfr   %r3,%r3                 # u32
1385         llgfr   %r4,%r4                 # u32
1386         llgfr   %r5,%r5                 # u32
1387         llgfr   %r6,%r6                 # u32
1388         jg      compat_sys_keyctl       # branch to system call
1389
1390 ENTRY(compat_sys_preadv_wrapper)
1391         llgfr   %r2,%r2                 # unsigned long
1392         llgtr   %r3,%r3                 # compat_iovec *
1393         llgfr   %r4,%r4                 # unsigned long
1394         llgfr   %r5,%r5                 # u32
1395         llgfr   %r6,%r6                 # u32
1396         jg      compat_sys_preadv       # branch to system call
1397
1398 ENTRY(compat_sys_pwritev_wrapper)
1399         llgfr   %r2,%r2                 # unsigned long
1400         llgtr   %r3,%r3                 # compat_iovec *
1401         llgfr   %r4,%r4                 # unsigned long
1402         llgfr   %r5,%r5                 # u32
1403         llgfr   %r6,%r6                 # u32
1404         jg      compat_sys_pwritev      # branch to system call
1405
1406 ENTRY(sys_perf_event_open_wrapper)
1407         llgtr   %r2,%r2                 # const struct perf_event_attr *
1408         lgfr    %r3,%r3                 # pid_t
1409         lgfr    %r4,%r4                 # int
1410         lgfr    %r5,%r5                 # int
1411         llgfr   %r6,%r6                 # unsigned long
1412         jg      sys_perf_event_open     # branch to system call
1413
1414 ENTRY(sys_clone_wrapper)
1415         llgfr   %r2,%r2                 # unsigned long
1416         llgfr   %r3,%r3                 # unsigned long
1417         llgtr   %r4,%r4                 # int *
1418         llgtr   %r5,%r5                 # int *
1419         jg      sys_clone               # branch to system call
1420
1421 ENTRY(sys32_execve_wrapper)
1422         llgtr   %r2,%r2                 # char *
1423         llgtr   %r3,%r3                 # compat_uptr_t *
1424         llgtr   %r4,%r4                 # compat_uptr_t *
1425         jg      compat_sys_execve       # branch to system call
1426
1427 ENTRY(sys_fanotify_init_wrapper)
1428         llgfr   %r2,%r2                 # unsigned int
1429         llgfr   %r3,%r3                 # unsigned int
1430         jg      sys_fanotify_init       # branch to system call
1431
1432 ENTRY(sys_fanotify_mark_wrapper)
1433         lgfr    %r2,%r2                 # int
1434         llgfr   %r3,%r3                 # unsigned int
1435         sllg    %r4,%r4,32              # get high word of 64bit mask
1436         lr      %r4,%r5                 # get low word of 64bit mask
1437         llgfr   %r5,%r6                 # unsigned int
1438         llgt    %r6,164(%r15)           # char *
1439         jg      sys_fanotify_mark       # branch to system call
1440
1441 ENTRY(sys_prlimit64_wrapper)
1442         lgfr    %r2,%r2                 # pid_t
1443         llgfr   %r3,%r3                 # unsigned int
1444         llgtr   %r4,%r4                 # const struct rlimit64 __user *
1445         llgtr   %r5,%r5                 # struct rlimit64 __user *
1446         jg      sys_prlimit64           # branch to system call
1447
1448 ENTRY(sys_name_to_handle_at_wrapper)
1449         lgfr    %r2,%r2                 # int
1450         llgtr   %r3,%r3                 # const char __user *
1451         llgtr   %r4,%r4                 # struct file_handle __user *
1452         llgtr   %r5,%r5                 # int __user *
1453         lgfr    %r6,%r6                 # int
1454         jg      sys_name_to_handle_at
1455
1456 ENTRY(compat_sys_clock_adjtime_wrapper)
1457         lgfr    %r2,%r2                 # clockid_t (int)
1458         llgtr   %r3,%r3                 # struct compat_timex __user *
1459         jg      compat_sys_clock_adjtime
1460
1461 ENTRY(sys_syncfs_wrapper)
1462         lgfr    %r2,%r2                 # int
1463         jg      sys_syncfs
1464
1465 ENTRY(sys_setns_wrapper)
1466         lgfr    %r2,%r2                 # int
1467         lgfr    %r3,%r3                 # int
1468         jg      sys_setns
1469
1470 ENTRY(compat_sys_process_vm_readv_wrapper)
1471         lgfr    %r2,%r2                 # compat_pid_t
1472         llgtr   %r3,%r3                 # struct compat_iovec __user *
1473         llgfr   %r4,%r4                 # unsigned long
1474         llgtr   %r5,%r5                 # struct compat_iovec __user *
1475         llgfr   %r6,%r6                 # unsigned long
1476         llgf    %r0,164(%r15)           # unsigned long
1477         stg     %r0,160(%r15)
1478         jg      compat_sys_process_vm_readv
1479
1480 ENTRY(compat_sys_process_vm_writev_wrapper)
1481         lgfr    %r2,%r2                 # compat_pid_t
1482         llgtr   %r3,%r3                 # struct compat_iovec __user *
1483         llgfr   %r4,%r4                 # unsigned long
1484         llgtr   %r5,%r5                 # struct compat_iovec __user *
1485         llgfr   %r6,%r6                 # unsigned long
1486         llgf    %r0,164(%r15)           # unsigned long
1487         stg     %r0,160(%r15)
1488         jg      compat_sys_process_vm_writev
1489
1490 ENTRY(sys_s390_runtime_instr_wrapper)
1491         lgfr    %r2,%r2                 # int
1492         lgfr    %r3,%r3                 # int
1493         jg      sys_s390_runtime_instr
1494
1495 ENTRY(sys_kcmp_wrapper)
1496         lgfr    %r2,%r2                 # pid_t
1497         lgfr    %r3,%r3                 # pid_t
1498         lgfr    %r4,%r4                 # int
1499         llgfr   %r5,%r5                 # unsigned long
1500         llgfr   %r6,%r6                 # unsigned long
1501         jg      sys_kcmp
1502
1503 ENTRY(sys_finit_module_wrapper)
1504         lgfr    %r2,%r2                 # int
1505         llgtr   %r3,%r3                 # const char __user *
1506         lgfr    %r4,%r4                 # int
1507         jg      sys_finit_module