spi/imx: Use dev_name() for request_irq() to distinguish SPIs
[cascardo/linux.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_gettimeofday_wrapper)
262         llgtr   %r2,%r2                 # struct timeval_emu31 *
263         llgtr   %r3,%r3                 # struct timezone *
264         jg      compat_sys_gettimeofday # branch to system call
265
266 ENTRY(compat_sys_settimeofday_wrapper)
267         llgtr   %r2,%r2                 # struct timeval_emu31 *
268         llgtr   %r3,%r3                 # struct timezone *
269         jg      compat_sys_settimeofday # branch to system call
270
271 ENTRY(sys32_getgroups16_wrapper)
272         lgfr    %r2,%r2                 # int
273         llgtr   %r3,%r3                 # __kernel_old_gid_emu31_t *
274         jg      sys32_getgroups16       # branch to system call
275
276 ENTRY(sys32_setgroups16_wrapper)
277         lgfr    %r2,%r2                 # int
278         llgtr   %r3,%r3                 # __kernel_old_gid_emu31_t *
279         jg      sys32_setgroups16       # branch to system call
280
281 ENTRY(sys32_symlink_wrapper)
282         llgtr   %r2,%r2                 # const char *
283         llgtr   %r3,%r3                 # const char *
284         jg      sys_symlink             # branch to system call
285
286 ENTRY(sys32_readlink_wrapper)
287         llgtr   %r2,%r2                 # const char *
288         llgtr   %r3,%r3                 # char *
289         lgfr    %r4,%r4                 # int
290         jg      sys_readlink            # branch to system call
291
292 ENTRY(sys32_uselib_wrapper)
293         llgtr   %r2,%r2                 # const char *
294         jg      sys_uselib              # branch to system call
295
296 ENTRY(sys32_swapon_wrapper)
297         llgtr   %r2,%r2                 # const char *
298         lgfr    %r3,%r3                 # int
299         jg      sys_swapon              # branch to system call
300
301 ENTRY(sys32_reboot_wrapper)
302         lgfr    %r2,%r2                 # int
303         lgfr    %r3,%r3                 # int
304         llgfr   %r4,%r4                 # unsigned int
305         llgtr   %r5,%r5                 # void *
306         jg      sys_reboot              # branch to system call
307
308 ENTRY(old32_readdir_wrapper)
309         llgfr   %r2,%r2                 # unsigned int
310         llgtr   %r3,%r3                 # void *
311         llgfr   %r4,%r4                 # unsigned int
312         jg      compat_sys_old_readdir  # branch to system call
313
314 ENTRY(old32_mmap_wrapper)
315         llgtr   %r2,%r2                 # struct mmap_arg_struct_emu31 *
316         jg      old32_mmap              # branch to system call
317
318 ENTRY(sys32_munmap_wrapper)
319         llgfr   %r2,%r2                 # unsigned long
320         llgfr   %r3,%r3                 # size_t
321         jg      sys_munmap              # branch to system call
322
323 ENTRY(sys32_fchmod_wrapper)
324         llgfr   %r2,%r2                 # unsigned int
325         llgfr   %r3,%r3                 # mode_t
326         jg      sys_fchmod              # branch to system call
327
328 ENTRY(sys32_fchown16_wrapper)
329         llgfr   %r2,%r2                 # unsigned int
330         llgfr   %r3,%r3                 # compat_uid_t
331         llgfr   %r4,%r4                 # compat_uid_t
332         jg      sys32_fchown16          # branch to system call
333
334 ENTRY(sys32_getpriority_wrapper)
335         lgfr    %r2,%r2                 # int
336         lgfr    %r3,%r3                 # int
337         jg      sys_getpriority         # branch to system call
338
339 ENTRY(sys32_setpriority_wrapper)
340         lgfr    %r2,%r2                 # int
341         lgfr    %r3,%r3                 # int
342         lgfr    %r4,%r4                 # int
343         jg      sys_setpriority         # branch to system call
344
345 ENTRY(compat_sys_statfs_wrapper)
346         llgtr   %r2,%r2                 # char *
347         llgtr   %r3,%r3                 # struct compat_statfs *
348         jg      compat_sys_statfs       # branch to system call
349
350 ENTRY(compat_sys_fstatfs_wrapper)
351         llgfr   %r2,%r2                 # unsigned int
352         llgtr   %r3,%r3                 # struct compat_statfs *
353         jg      compat_sys_fstatfs      # branch to system call
354
355 ENTRY(compat_sys_socketcall_wrapper)
356         lgfr    %r2,%r2                 # int
357         llgtr   %r3,%r3                 # u32 *
358         jg      compat_sys_socketcall   # branch to system call
359
360 ENTRY(sys32_syslog_wrapper)
361         lgfr    %r2,%r2                 # int
362         llgtr   %r3,%r3                 # char *
363         lgfr    %r4,%r4                 # int
364         jg      sys_syslog              # branch to system call
365
366 ENTRY(compat_sys_newstat_wrapper)
367         llgtr   %r2,%r2                 # char *
368         llgtr   %r3,%r3                 # struct stat_emu31 *
369         jg      compat_sys_newstat      # branch to system call
370
371 ENTRY(compat_sys_newlstat_wrapper)
372         llgtr   %r2,%r2                 # char *
373         llgtr   %r3,%r3                 # struct stat_emu31 *
374         jg      compat_sys_newlstat     # branch to system call
375
376 ENTRY(compat_sys_newfstat_wrapper)
377         llgfr   %r2,%r2                 # unsigned int
378         llgtr   %r3,%r3                 # struct stat_emu31 *
379         jg      compat_sys_newfstat     # branch to system call
380
381 #sys32_vhangup_wrapper                  # void
382
383 ENTRY(sys32_swapoff_wrapper)
384         llgtr   %r2,%r2                 # const char *
385         jg      sys_swapoff             # branch to system call
386
387 ENTRY(compat_sys_sysinfo_wrapper)
388         llgtr   %r2,%r2                 # struct sysinfo_emu31 *
389         jg      compat_sys_sysinfo      # branch to system call
390
391 ENTRY(sys32_fsync_wrapper)
392         llgfr   %r2,%r2                 # unsigned int
393         jg      sys_fsync               # branch to system call
394
395 #sys32_sigreturn_wrapper                # done in sigreturn_glue
396
397 #sys32_clone_wrapper                    # done in clone_glue
398
399 ENTRY(sys32_setdomainname_wrapper)
400         llgtr   %r2,%r2                 # char *
401         lgfr    %r3,%r3                 # int
402         jg      sys_setdomainname       # branch to system call
403
404 ENTRY(sys32_newuname_wrapper)
405         llgtr   %r2,%r2                 # struct new_utsname *
406         jg      sys_newuname            # branch to system call
407
408 ENTRY(compat_sys_adjtimex_wrapper)
409         llgtr   %r2,%r2                 # struct compat_timex *
410         jg      compat_sys_adjtimex     # branch to system call
411
412 ENTRY(sys32_mprotect_wrapper)
413         llgtr   %r2,%r2                 # unsigned long (actually pointer
414         llgfr   %r3,%r3                 # size_t
415         llgfr   %r4,%r4                 # unsigned long
416         jg      sys_mprotect            # branch to system call
417
418 ENTRY(sys_init_module_wrapper)
419         llgtr   %r2,%r2                 # void *
420         llgfr   %r3,%r3                 # unsigned long
421         llgtr   %r4,%r4                 # char *
422         jg      sys_init_module         # branch to system call
423
424 ENTRY(sys_delete_module_wrapper)
425         llgtr   %r2,%r2                 # const char *
426         llgfr   %r3,%r3                 # unsigned int
427         jg      sys_delete_module       # branch to system call
428
429 ENTRY(sys32_quotactl_wrapper)
430         llgfr   %r2,%r2                 # unsigned int
431         llgtr   %r3,%r3                 # const char *
432         llgfr   %r4,%r4                 # qid_t
433         llgtr   %r5,%r5                 # caddr_t
434         jg      sys_quotactl            # branch to system call
435
436 ENTRY(sys32_getpgid_wrapper)
437         lgfr    %r2,%r2                 # pid_t
438         jg      sys_getpgid             # branch to system call
439
440 ENTRY(sys32_fchdir_wrapper)
441         llgfr   %r2,%r2                 # unsigned int
442         jg      sys_fchdir              # branch to system call
443
444 ENTRY(sys32_bdflush_wrapper)
445         lgfr    %r2,%r2                 # int
446         lgfr    %r3,%r3                 # long
447         jg      sys_bdflush             # branch to system call
448
449 ENTRY(sys32_sysfs_wrapper)
450         lgfr    %r2,%r2                 # int
451         llgfr   %r3,%r3                 # unsigned long
452         llgfr   %r4,%r4                 # unsigned long
453         jg      sys_sysfs               # branch to system call
454
455 ENTRY(sys32_personality_wrapper)
456         llgfr   %r2,%r2                 # unsigned int
457         jg      sys_s390_personality    # branch to system call
458
459 ENTRY(sys32_setfsuid16_wrapper)
460         llgfr   %r2,%r2                 # __kernel_old_uid_emu31_t
461         jg      sys32_setfsuid16        # branch to system call
462
463 ENTRY(sys32_setfsgid16_wrapper)
464         llgfr   %r2,%r2                 # __kernel_old_gid_emu31_t
465         jg      sys32_setfsgid16        # branch to system call
466
467 ENTRY(sys32_llseek_wrapper)
468         llgfr   %r2,%r2                 # unsigned int
469         llgfr   %r3,%r3                 # unsigned long
470         llgfr   %r4,%r4                 # unsigned long
471         llgtr   %r5,%r5                 # loff_t *
472         llgfr   %r6,%r6                 # unsigned int
473         jg      sys_llseek              # branch to system call
474
475 ENTRY(sys32_getdents_wrapper)
476         llgfr   %r2,%r2                 # unsigned int
477         llgtr   %r3,%r3                 # void *
478         llgfr   %r4,%r4                 # unsigned int
479         jg      compat_sys_getdents     # branch to system call
480
481 ENTRY(compat_sys_select_wrapper)
482         lgfr    %r2,%r2                 # int
483         llgtr   %r3,%r3                 # compat_fd_set *
484         llgtr   %r4,%r4                 # compat_fd_set *
485         llgtr   %r5,%r5                 # compat_fd_set *
486         llgtr   %r6,%r6                 # struct compat_timeval *
487         jg      compat_sys_select       # branch to system call
488
489 ENTRY(sys32_flock_wrapper)
490         llgfr   %r2,%r2                 # unsigned int
491         llgfr   %r3,%r3                 # unsigned int
492         jg      sys_flock               # branch to system call
493
494 ENTRY(sys32_msync_wrapper)
495         llgfr   %r2,%r2                 # unsigned long
496         llgfr   %r3,%r3                 # size_t
497         lgfr    %r4,%r4                 # int
498         jg      sys_msync               # branch to system call
499
500 ENTRY(compat_sys_readv_wrapper)
501         lgfr    %r2,%r2                 # int
502         llgtr   %r3,%r3                 # const struct compat_iovec *
503         llgfr   %r4,%r4                 # unsigned long
504         jg      compat_sys_readv        # branch to system call
505
506 ENTRY(compat_sys_writev_wrapper)
507         lgfr    %r2,%r2                 # int
508         llgtr   %r3,%r3                 # const struct compat_iovec *
509         llgfr   %r4,%r4                 # unsigned long
510         jg      compat_sys_writev       # branch to system call
511
512 ENTRY(sys32_getsid_wrapper)
513         lgfr    %r2,%r2                 # pid_t
514         jg      sys_getsid              # branch to system call
515
516 ENTRY(sys32_fdatasync_wrapper)
517         llgfr   %r2,%r2                 # unsigned int
518         jg      sys_fdatasync           # branch to system call
519
520 ENTRY(sys32_mlock_wrapper)
521         llgfr   %r2,%r2                 # unsigned long
522         llgfr   %r3,%r3                 # size_t
523         jg      sys_mlock               # branch to system call
524
525 ENTRY(sys32_munlock_wrapper)
526         llgfr   %r2,%r2                 # unsigned long
527         llgfr   %r3,%r3                 # size_t
528         jg      sys_munlock             # branch to system call
529
530 ENTRY(sys32_mlockall_wrapper)
531         lgfr    %r2,%r2                 # int
532         jg      sys_mlockall            # branch to system call
533
534 #sys32_munlockall_wrapper               # void
535
536 ENTRY(sys32_sched_setparam_wrapper)
537         lgfr    %r2,%r2                 # pid_t
538         llgtr   %r3,%r3                 # struct sched_param *
539         jg      sys_sched_setparam      # branch to system call
540
541 ENTRY(sys32_sched_getparam_wrapper)
542         lgfr    %r2,%r2                 # pid_t
543         llgtr   %r3,%r3                 # struct sched_param *
544         jg      sys_sched_getparam      # branch to system call
545
546 ENTRY(sys32_sched_setscheduler_wrapper)
547         lgfr    %r2,%r2                 # pid_t
548         lgfr    %r3,%r3                 # int
549         llgtr   %r4,%r4                 # struct sched_param *
550         jg      sys_sched_setscheduler  # branch to system call
551
552 ENTRY(sys32_sched_getscheduler_wrapper)
553         lgfr    %r2,%r2                 # pid_t
554         jg      sys_sched_getscheduler  # branch to system call
555
556 #sys32_sched_yield_wrapper              # void
557
558 ENTRY(sys32_sched_get_priority_max_wrapper)
559         lgfr    %r2,%r2                 # int
560         jg      sys_sched_get_priority_max      # branch to system call
561
562 ENTRY(sys32_sched_get_priority_min_wrapper)
563         lgfr    %r2,%r2                 # int
564         jg      sys_sched_get_priority_min      # branch to system call
565
566 ENTRY(compat_sys_nanosleep_wrapper)
567         llgtr   %r2,%r2                 # struct compat_timespec *
568         llgtr   %r3,%r3                 # struct compat_timespec *
569         jg      compat_sys_nanosleep            # branch to system call
570
571 ENTRY(sys32_mremap_wrapper)
572         llgfr   %r2,%r2                 # unsigned long
573         llgfr   %r3,%r3                 # unsigned long
574         llgfr   %r4,%r4                 # unsigned long
575         llgfr   %r5,%r5                 # unsigned long
576         llgfr   %r6,%r6                 # unsigned long
577         jg      sys_mremap              # branch to system call
578
579 ENTRY(sys32_setresuid16_wrapper)
580         llgfr   %r2,%r2                 # __kernel_old_uid_emu31_t
581         llgfr   %r3,%r3                 # __kernel_old_uid_emu31_t
582         llgfr   %r4,%r4                 # __kernel_old_uid_emu31_t
583         jg      sys32_setresuid16       # branch to system call
584
585 ENTRY(sys32_getresuid16_wrapper)
586         llgtr   %r2,%r2                 # __kernel_old_uid_emu31_t *
587         llgtr   %r3,%r3                 # __kernel_old_uid_emu31_t *
588         llgtr   %r4,%r4                 # __kernel_old_uid_emu31_t *
589         jg      sys32_getresuid16       # branch to system call
590
591 ENTRY(sys32_poll_wrapper)
592         llgtr   %r2,%r2                 # struct pollfd *
593         llgfr   %r3,%r3                 # unsigned int
594         lgfr    %r4,%r4                 # int
595         jg      sys_poll                # branch to system call
596
597 ENTRY(sys32_setresgid16_wrapper)
598         llgfr   %r2,%r2                 # __kernel_old_gid_emu31_t
599         llgfr   %r3,%r3                 # __kernel_old_gid_emu31_t
600         llgfr   %r4,%r4                 # __kernel_old_gid_emu31_t
601         jg      sys32_setresgid16       # branch to system call
602
603 ENTRY(sys32_getresgid16_wrapper)
604         llgtr   %r2,%r2                 # __kernel_old_gid_emu31_t *
605         llgtr   %r3,%r3                 # __kernel_old_gid_emu31_t *
606         llgtr   %r4,%r4                 # __kernel_old_gid_emu31_t *
607         jg      sys32_getresgid16       # branch to system call
608
609 ENTRY(sys32_prctl_wrapper)
610         lgfr    %r2,%r2                 # int
611         llgfr   %r3,%r3                 # unsigned long
612         llgfr   %r4,%r4                 # unsigned long
613         llgfr   %r5,%r5                 # unsigned long
614         llgfr   %r6,%r6                 # unsigned long
615         jg      sys_prctl               # branch to system call
616
617 #sys32_rt_sigreturn_wrapper             # done in rt_sigreturn_glue
618
619 ENTRY(sys32_pread64_wrapper)
620         llgfr   %r2,%r2                 # unsigned int
621         llgtr   %r3,%r3                 # char *
622         llgfr   %r4,%r4                 # size_t
623         llgfr   %r5,%r5                 # u32
624         llgfr   %r6,%r6                 # u32
625         jg      sys32_pread64           # branch to system call
626
627 ENTRY(sys32_pwrite64_wrapper)
628         llgfr   %r2,%r2                 # unsigned int
629         llgtr   %r3,%r3                 # const char *
630         llgfr   %r4,%r4                 # size_t
631         llgfr   %r5,%r5                 # u32
632         llgfr   %r6,%r6                 # u32
633         jg      sys32_pwrite64          # branch to system call
634
635 ENTRY(sys32_chown16_wrapper)
636         llgtr   %r2,%r2                 # const char *
637         llgfr   %r3,%r3                 # __kernel_old_uid_emu31_t
638         llgfr   %r4,%r4                 # __kernel_old_gid_emu31_t
639         jg      sys32_chown16           # branch to system call
640
641 ENTRY(sys32_getcwd_wrapper)
642         llgtr   %r2,%r2                 # char *
643         llgfr   %r3,%r3                 # unsigned long
644         jg      sys_getcwd              # branch to system call
645
646 ENTRY(sys32_capget_wrapper)
647         llgtr   %r2,%r2                 # cap_user_header_t
648         llgtr   %r3,%r3                 # cap_user_data_t
649         jg      sys_capget              # branch to system call
650
651 ENTRY(sys32_capset_wrapper)
652         llgtr   %r2,%r2                 # cap_user_header_t
653         llgtr   %r3,%r3                 # const cap_user_data_t
654         jg      sys_capset              # branch to system call
655
656 #sys32_vfork_wrapper                    # done in vfork_glue
657
658 ENTRY(sys32_truncate64_wrapper)
659         llgtr   %r2,%r2                 # const char *
660         llgfr   %r3,%r3                 # unsigned long
661         llgfr   %r4,%r4                 # unsigned long
662         jg      sys32_truncate64        # branch to system call
663
664 ENTRY(sys32_ftruncate64_wrapper)
665         llgfr   %r2,%r2                 # unsigned int
666         llgfr   %r3,%r3                 # unsigned long
667         llgfr   %r4,%r4                 # unsigned long
668         jg      sys32_ftruncate64       # branch to system call
669
670 ENTRY(sys32_lchown_wrapper)
671         llgtr   %r2,%r2                 # const char *
672         llgfr   %r3,%r3                 # uid_t
673         llgfr   %r4,%r4                 # gid_t
674         jg      sys_lchown              # branch to system call
675
676 #sys32_getuid_wrapper                   # void
677 #sys32_getgid_wrapper                   # void
678 #sys32_geteuid_wrapper                  # void
679 #sys32_getegid_wrapper                  # void
680
681 ENTRY(sys32_setreuid_wrapper)
682         llgfr   %r2,%r2                 # uid_t
683         llgfr   %r3,%r3                 # uid_t
684         jg      sys_setreuid            # branch to system call
685
686 ENTRY(sys32_setregid_wrapper)
687         llgfr   %r2,%r2                 # gid_t
688         llgfr   %r3,%r3                 # gid_t
689         jg      sys_setregid            # branch to system call
690
691 ENTRY(sys32_getgroups_wrapper)
692         lgfr    %r2,%r2                 # int
693         llgtr   %r3,%r3                 # gid_t *
694         jg      sys_getgroups           # branch to system call
695
696 ENTRY(sys32_setgroups_wrapper)
697         lgfr    %r2,%r2                 # int
698         llgtr   %r3,%r3                 # gid_t *
699         jg      sys_setgroups           # branch to system call
700
701 ENTRY(sys32_fchown_wrapper)
702         llgfr   %r2,%r2                 # unsigned int
703         llgfr   %r3,%r3                 # uid_t
704         llgfr   %r4,%r4                 # gid_t
705         jg      sys_fchown              # branch to system call
706
707 ENTRY(sys32_setresuid_wrapper)
708         llgfr   %r2,%r2                 # uid_t
709         llgfr   %r3,%r3                 # uid_t
710         llgfr   %r4,%r4                 # uid_t
711         jg      sys_setresuid           # branch to system call
712
713 ENTRY(sys32_getresuid_wrapper)
714         llgtr   %r2,%r2                 # uid_t *
715         llgtr   %r3,%r3                 # uid_t *
716         llgtr   %r4,%r4                 # uid_t *
717         jg      sys_getresuid           # branch to system call
718
719 ENTRY(sys32_setresgid_wrapper)
720         llgfr   %r2,%r2                 # gid_t
721         llgfr   %r3,%r3                 # gid_t
722         llgfr   %r4,%r4                 # gid_t
723         jg      sys_setresgid           # branch to system call
724
725 ENTRY(sys32_getresgid_wrapper)
726         llgtr   %r2,%r2                 # gid_t *
727         llgtr   %r3,%r3                 # gid_t *
728         llgtr   %r4,%r4                 # gid_t *
729         jg      sys_getresgid           # branch to system call
730
731 ENTRY(sys32_chown_wrapper)
732         llgtr   %r2,%r2                 # const char *
733         llgfr   %r3,%r3                 # uid_t
734         llgfr   %r4,%r4                 # gid_t
735         jg      sys_chown               # branch to system call
736
737 ENTRY(sys32_setuid_wrapper)
738         llgfr   %r2,%r2                 # uid_t
739         jg      sys_setuid              # branch to system call
740
741 ENTRY(sys32_setgid_wrapper)
742         llgfr   %r2,%r2                 # gid_t
743         jg      sys_setgid              # branch to system call
744
745 ENTRY(sys32_setfsuid_wrapper)
746         llgfr   %r2,%r2                 # uid_t
747         jg      sys_setfsuid            # branch to system call
748
749 ENTRY(sys32_setfsgid_wrapper)
750         llgfr   %r2,%r2                 # gid_t
751         jg      sys_setfsgid            # branch to system call
752
753 ENTRY(sys32_pivot_root_wrapper)
754         llgtr   %r2,%r2                 # const char *
755         llgtr   %r3,%r3                 # const char *
756         jg      sys_pivot_root          # branch to system call
757
758 ENTRY(sys32_mincore_wrapper)
759         llgfr   %r2,%r2                 # unsigned long
760         llgfr   %r3,%r3                 # size_t
761         llgtr   %r4,%r4                 # unsigned char *
762         jg      sys_mincore             # branch to system call
763
764 ENTRY(sys32_madvise_wrapper)
765         llgfr   %r2,%r2                 # unsigned long
766         llgfr   %r3,%r3                 # size_t
767         lgfr    %r4,%r4                 # int
768         jg      sys_madvise             # branch to system call
769
770 ENTRY(sys32_getdents64_wrapper)
771         llgfr   %r2,%r2                 # unsigned int
772         llgtr   %r3,%r3                 # void *
773         llgfr   %r4,%r4                 # unsigned int
774         jg      sys_getdents64          # branch to system call
775
776 ENTRY(compat_sys_fcntl64_wrapper)
777         llgfr   %r2,%r2                 # unsigned int
778         llgfr   %r3,%r3                 # unsigned int
779         llgfr   %r4,%r4                 # unsigned long
780         jg      compat_sys_fcntl64      # branch to system call
781
782 ENTRY(sys32_stat64_wrapper)
783         llgtr   %r2,%r2                 # char *
784         llgtr   %r3,%r3                 # struct stat64 *
785         jg      sys32_stat64            # branch to system call
786
787 ENTRY(sys32_lstat64_wrapper)
788         llgtr   %r2,%r2                 # char *
789         llgtr   %r3,%r3                 # struct stat64 *
790         jg      sys32_lstat64           # branch to system call
791
792 ENTRY(sys32_stime_wrapper)
793         llgtr   %r2,%r2                 # long *
794         jg      compat_sys_stime        # branch to system call
795
796 ENTRY(sys32_fstat64_wrapper)
797         llgfr   %r2,%r2                 # unsigned long
798         llgtr   %r3,%r3                 # struct stat64 *
799         jg      sys32_fstat64           # branch to system call
800
801 ENTRY(sys32_setxattr_wrapper)
802         llgtr   %r2,%r2                 # char *
803         llgtr   %r3,%r3                 # char *
804         llgtr   %r4,%r4                 # void *
805         llgfr   %r5,%r5                 # size_t
806         lgfr    %r6,%r6                 # int
807         jg      sys_setxattr
808
809 ENTRY(sys32_lsetxattr_wrapper)
810         llgtr   %r2,%r2                 # char *
811         llgtr   %r3,%r3                 # char *
812         llgtr   %r4,%r4                 # void *
813         llgfr   %r5,%r5                 # size_t
814         lgfr    %r6,%r6                 # int
815         jg      sys_lsetxattr
816
817 ENTRY(sys32_fsetxattr_wrapper)
818         lgfr    %r2,%r2                 # int
819         llgtr   %r3,%r3                 # char *
820         llgtr   %r4,%r4                 # void *
821         llgfr   %r5,%r5                 # size_t
822         lgfr    %r6,%r6                 # int
823         jg      sys_fsetxattr
824
825 ENTRY(sys32_getxattr_wrapper)
826         llgtr   %r2,%r2                 # char *
827         llgtr   %r3,%r3                 # char *
828         llgtr   %r4,%r4                 # void *
829         llgfr   %r5,%r5                 # size_t
830         jg      sys_getxattr
831
832 ENTRY(sys32_lgetxattr_wrapper)
833         llgtr   %r2,%r2                 # char *
834         llgtr   %r3,%r3                 # char *
835         llgtr   %r4,%r4                 # void *
836         llgfr   %r5,%r5                 # size_t
837         jg      sys_lgetxattr
838
839 ENTRY(sys32_fgetxattr_wrapper)
840         lgfr    %r2,%r2                 # int
841         llgtr   %r3,%r3                 # char *
842         llgtr   %r4,%r4                 # void *
843         llgfr   %r5,%r5                 # size_t
844         jg      sys_fgetxattr
845
846 ENTRY(sys32_listxattr_wrapper)
847         llgtr   %r2,%r2                 # char *
848         llgtr   %r3,%r3                 # char *
849         llgfr   %r4,%r4                 # size_t
850         jg      sys_listxattr
851
852 ENTRY(sys32_llistxattr_wrapper)
853         llgtr   %r2,%r2                 # char *
854         llgtr   %r3,%r3                 # char *
855         llgfr   %r4,%r4                 # size_t
856         jg      sys_llistxattr
857
858 ENTRY(sys32_flistxattr_wrapper)
859         lgfr    %r2,%r2                 # int
860         llgtr   %r3,%r3                 # char *
861         llgfr   %r4,%r4                 # size_t
862         jg      sys_flistxattr
863
864 ENTRY(sys32_removexattr_wrapper)
865         llgtr   %r2,%r2                 # char *
866         llgtr   %r3,%r3                 # char *
867         jg      sys_removexattr
868
869 ENTRY(sys32_lremovexattr_wrapper)
870         llgtr   %r2,%r2                 # char *
871         llgtr   %r3,%r3                 # char *
872         jg      sys_lremovexattr
873
874 ENTRY(sys32_fremovexattr_wrapper)
875         lgfr    %r2,%r2                 # int
876         llgtr   %r3,%r3                 # char *
877         jg      sys_fremovexattr
878
879 ENTRY(sys32_sched_setaffinity_wrapper)
880         lgfr    %r2,%r2                 # int
881         llgfr   %r3,%r3                 # unsigned int
882         llgtr   %r4,%r4                 # unsigned long *
883         jg      compat_sys_sched_setaffinity
884
885 ENTRY(sys32_sched_getaffinity_wrapper)
886         lgfr    %r2,%r2                 # int
887         llgfr   %r3,%r3                 # unsigned int
888         llgtr   %r4,%r4                 # unsigned long *
889         jg      compat_sys_sched_getaffinity
890
891 ENTRY(sys32_exit_group_wrapper)
892         lgfr    %r2,%r2                 # int
893         jg      sys_exit_group          # branch to system call
894
895 ENTRY(sys32_set_tid_address_wrapper)
896         llgtr   %r2,%r2                 # int *
897         jg      sys_set_tid_address     # branch to system call
898
899 ENTRY(sys_epoll_create_wrapper)
900         lgfr    %r2,%r2                 # int
901         jg      sys_epoll_create        # branch to system call
902
903 ENTRY(sys_epoll_ctl_wrapper)
904         lgfr    %r2,%r2                 # int
905         lgfr    %r3,%r3                 # int
906         lgfr    %r4,%r4                 # int
907         llgtr   %r5,%r5                 # struct epoll_event *
908         jg      sys_epoll_ctl           # branch to system call
909
910 ENTRY(sys_epoll_wait_wrapper)
911         lgfr    %r2,%r2                 # int
912         llgtr   %r3,%r3                 # struct epoll_event *
913         lgfr    %r4,%r4                 # int
914         lgfr    %r5,%r5                 # int
915         jg      sys_epoll_wait          # branch to system call
916
917 ENTRY(sys32_fadvise64_wrapper)
918         lgfr    %r2,%r2                 # int
919         sllg    %r3,%r3,32              # get high word of 64bit loff_t
920         or      %r3,%r4                 # get low word of 64bit loff_t
921         llgfr   %r4,%r5                 # size_t (unsigned long)
922         lgfr    %r5,%r6                 # int
923         jg      sys32_fadvise64
924
925 ENTRY(sys32_fadvise64_64_wrapper)
926         llgtr   %r2,%r2                 # struct fadvise64_64_args *
927         jg      sys32_fadvise64_64
928
929 ENTRY(sys32_clock_settime_wrapper)
930         lgfr    %r2,%r2                 # clockid_t (int)
931         llgtr   %r3,%r3                 # struct compat_timespec *
932         jg      compat_sys_clock_settime
933
934 ENTRY(sys32_clock_gettime_wrapper)
935         lgfr    %r2,%r2                 # clockid_t (int)
936         llgtr   %r3,%r3                 # struct compat_timespec *
937         jg      compat_sys_clock_gettime
938
939 ENTRY(sys32_clock_getres_wrapper)
940         lgfr    %r2,%r2                 # clockid_t (int)
941         llgtr   %r3,%r3                 # struct compat_timespec *
942         jg      compat_sys_clock_getres
943
944 ENTRY(sys32_clock_nanosleep_wrapper)
945         lgfr    %r2,%r2                 # clockid_t (int)
946         lgfr    %r3,%r3                 # int
947         llgtr   %r4,%r4                 # struct compat_timespec *
948         llgtr   %r5,%r5                 # struct compat_timespec *
949         jg      compat_sys_clock_nanosleep
950
951 ENTRY(sys32_timer_create_wrapper)
952         lgfr    %r2,%r2                 # timer_t (int)
953         llgtr   %r3,%r3                 # struct compat_sigevent *
954         llgtr   %r4,%r4                 # timer_t *
955         jg      compat_sys_timer_create
956
957 ENTRY(sys32_timer_settime_wrapper)
958         lgfr    %r2,%r2                 # timer_t (int)
959         lgfr    %r3,%r3                 # int
960         llgtr   %r4,%r4                 # struct compat_itimerspec *
961         llgtr   %r5,%r5                 # struct compat_itimerspec *
962         jg      compat_sys_timer_settime
963
964 ENTRY(sys32_timer_gettime_wrapper)
965         lgfr    %r2,%r2                 # timer_t (int)
966         llgtr   %r3,%r3                 # struct compat_itimerspec *
967         jg      compat_sys_timer_gettime
968
969 ENTRY(sys32_timer_getoverrun_wrapper)
970         lgfr    %r2,%r2                 # timer_t (int)
971         jg      sys_timer_getoverrun
972
973 ENTRY(sys32_timer_delete_wrapper)
974         lgfr    %r2,%r2                 # timer_t (int)
975         jg      sys_timer_delete
976
977 ENTRY(sys32_io_setup_wrapper)
978         llgfr   %r2,%r2                 # unsigned int
979         llgtr   %r3,%r3                 # u32 *
980         jg      compat_sys_io_setup
981
982 ENTRY(sys32_io_destroy_wrapper)
983         llgfr   %r2,%r2                 # (aio_context_t) u32
984         jg      sys_io_destroy
985
986 ENTRY(sys32_io_getevents_wrapper)
987         llgfr   %r2,%r2                 # (aio_context_t) u32
988         lgfr    %r3,%r3                 # long
989         lgfr    %r4,%r4                 # long
990         llgtr   %r5,%r5                 # struct io_event *
991         llgtr   %r6,%r6                 # struct compat_timespec *
992         jg      compat_sys_io_getevents
993
994 ENTRY(sys32_io_submit_wrapper)
995         llgfr   %r2,%r2                 # (aio_context_t) u32
996         lgfr    %r3,%r3                 # long
997         llgtr   %r4,%r4                 # struct iocb **
998         jg      compat_sys_io_submit
999
1000 ENTRY(sys32_io_cancel_wrapper)
1001         llgfr   %r2,%r2                 # (aio_context_t) u32
1002         llgtr   %r3,%r3                 # struct iocb *
1003         llgtr   %r4,%r4                 # struct io_event *
1004         jg      sys_io_cancel
1005
1006 ENTRY(compat_sys_statfs64_wrapper)
1007         llgtr   %r2,%r2                 # const char *
1008         llgfr   %r3,%r3                 # compat_size_t
1009         llgtr   %r4,%r4                 # struct compat_statfs64 *
1010         jg      compat_sys_statfs64
1011
1012 ENTRY(compat_sys_fstatfs64_wrapper)
1013         llgfr   %r2,%r2                 # unsigned int fd
1014         llgfr   %r3,%r3                 # compat_size_t
1015         llgtr   %r4,%r4                 # struct compat_statfs64 *
1016         jg      compat_sys_fstatfs64
1017
1018 ENTRY(compat_sys_mq_open_wrapper)
1019         llgtr   %r2,%r2                 # const char *
1020         lgfr    %r3,%r3                 # int
1021         llgfr   %r4,%r4                 # mode_t
1022         llgtr   %r5,%r5                 # struct compat_mq_attr *
1023         jg      compat_sys_mq_open
1024
1025 ENTRY(sys32_mq_unlink_wrapper)
1026         llgtr   %r2,%r2                 # const char *
1027         jg      sys_mq_unlink
1028
1029 ENTRY(compat_sys_mq_timedsend_wrapper)
1030         lgfr    %r2,%r2                 # mqd_t
1031         llgtr   %r3,%r3                 # const char *
1032         llgfr   %r4,%r4                 # size_t
1033         llgfr   %r5,%r5                 # unsigned int
1034         llgtr   %r6,%r6                 # const struct compat_timespec *
1035         jg      compat_sys_mq_timedsend
1036
1037 ENTRY(compat_sys_mq_timedreceive_wrapper)
1038         lgfr    %r2,%r2                 # mqd_t
1039         llgtr   %r3,%r3                 # char *
1040         llgfr   %r4,%r4                 # size_t
1041         llgtr   %r5,%r5                 # unsigned int *
1042         llgtr   %r6,%r6                 # const struct compat_timespec *
1043         jg      compat_sys_mq_timedreceive
1044
1045 ENTRY(compat_sys_mq_notify_wrapper)
1046         lgfr    %r2,%r2                 # mqd_t
1047         llgtr   %r3,%r3                 # struct compat_sigevent *
1048         jg      compat_sys_mq_notify
1049
1050 ENTRY(compat_sys_mq_getsetattr_wrapper)
1051         lgfr    %r2,%r2                 # mqd_t
1052         llgtr   %r3,%r3                 # struct compat_mq_attr *
1053         llgtr   %r4,%r4                 # struct compat_mq_attr *
1054         jg      compat_sys_mq_getsetattr
1055
1056 ENTRY(compat_sys_add_key_wrapper)
1057         llgtr   %r2,%r2                 # const char *
1058         llgtr   %r3,%r3                 # const char *
1059         llgtr   %r4,%r4                 # const void *
1060         llgfr   %r5,%r5                 # size_t
1061         llgfr   %r6,%r6                 # (key_serial_t) u32
1062         jg      sys_add_key
1063
1064 ENTRY(compat_sys_request_key_wrapper)
1065         llgtr   %r2,%r2                 # const char *
1066         llgtr   %r3,%r3                 # const char *
1067         llgtr   %r4,%r4                 # const void *
1068         llgfr   %r5,%r5                 # (key_serial_t) u32
1069         jg      sys_request_key
1070
1071 ENTRY(sys32_remap_file_pages_wrapper)
1072         llgfr   %r2,%r2                 # unsigned long
1073         llgfr   %r3,%r3                 # unsigned long
1074         llgfr   %r4,%r4                 # unsigned long
1075         llgfr   %r5,%r5                 # unsigned long
1076         llgfr   %r6,%r6                 # unsigned long
1077         jg      sys_remap_file_pages
1078
1079 ENTRY(compat_sys_kexec_load_wrapper)
1080         llgfr   %r2,%r2                 # unsigned long
1081         llgfr   %r3,%r3                 # unsigned long
1082         llgtr   %r4,%r4                 # struct kexec_segment *
1083         llgfr   %r5,%r5                 # unsigned long
1084         jg      compat_sys_kexec_load
1085
1086 ENTRY(sys_ioprio_set_wrapper)
1087         lgfr    %r2,%r2                 # int
1088         lgfr    %r3,%r3                 # int
1089         lgfr    %r4,%r4                 # int
1090         jg      sys_ioprio_set
1091
1092 ENTRY(sys_ioprio_get_wrapper)
1093         lgfr    %r2,%r2                 # int
1094         lgfr    %r3,%r3                 # int
1095         jg      sys_ioprio_get
1096
1097 ENTRY(sys_inotify_add_watch_wrapper)
1098         lgfr    %r2,%r2                 # int
1099         llgtr   %r3,%r3                 # const char *
1100         llgfr   %r4,%r4                 # u32
1101         jg      sys_inotify_add_watch
1102
1103 ENTRY(sys_inotify_rm_watch_wrapper)
1104         lgfr    %r2,%r2                 # int
1105         llgfr   %r3,%r3                 # u32
1106         jg      sys_inotify_rm_watch
1107
1108 ENTRY(sys_mkdirat_wrapper)
1109         lgfr    %r2,%r2                 # int
1110         llgtr   %r3,%r3                 # const char *
1111         lgfr    %r4,%r4                 # int
1112         jg      sys_mkdirat
1113
1114 ENTRY(sys_mknodat_wrapper)
1115         lgfr    %r2,%r2                 # int
1116         llgtr   %r3,%r3                 # const char *
1117         lgfr    %r4,%r4                 # int
1118         llgfr   %r5,%r5                 # unsigned int
1119         jg      sys_mknodat
1120
1121 ENTRY(sys_fchownat_wrapper)
1122         lgfr    %r2,%r2                 # int
1123         llgtr   %r3,%r3                 # const char *
1124         llgfr   %r4,%r4                 # uid_t
1125         llgfr   %r5,%r5                 # gid_t
1126         lgfr    %r6,%r6                 # int
1127         jg      sys_fchownat
1128
1129 ENTRY(compat_sys_futimesat_wrapper)
1130         llgfr   %r2,%r2                 # unsigned int
1131         llgtr   %r3,%r3                 # char *
1132         llgtr   %r4,%r4                 # struct timeval *
1133         jg      compat_sys_futimesat
1134
1135 ENTRY(sys32_fstatat64_wrapper)
1136         llgfr   %r2,%r2                 # unsigned int
1137         llgtr   %r3,%r3                 # char *
1138         llgtr   %r4,%r4                 # struct stat64 *
1139         lgfr    %r5,%r5                 # int
1140         jg      sys32_fstatat64
1141
1142 ENTRY(sys_unlinkat_wrapper)
1143         lgfr    %r2,%r2                 # int
1144         llgtr   %r3,%r3                 # const char *
1145         lgfr    %r4,%r4                 # int
1146         jg      sys_unlinkat
1147
1148 ENTRY(sys_renameat_wrapper)
1149         lgfr    %r2,%r2                 # int
1150         llgtr   %r3,%r3                 # const char *
1151         lgfr    %r4,%r4                 # int
1152         llgtr   %r5,%r5                 # const char *
1153         jg      sys_renameat
1154
1155 ENTRY(sys_linkat_wrapper)
1156         lgfr    %r2,%r2                 # int
1157         llgtr   %r3,%r3                 # const char *
1158         lgfr    %r4,%r4                 # int
1159         llgtr   %r5,%r5                 # const char *
1160         lgfr    %r6,%r6                 # int
1161         jg      sys_linkat
1162
1163 ENTRY(sys_symlinkat_wrapper)
1164         llgtr   %r2,%r2                 # const char *
1165         lgfr    %r3,%r3                 # int
1166         llgtr   %r4,%r4                 # const char *
1167         jg      sys_symlinkat
1168
1169 ENTRY(sys_readlinkat_wrapper)
1170         lgfr    %r2,%r2                 # int
1171         llgtr   %r3,%r3                 # const char *
1172         llgtr   %r4,%r4                 # char *
1173         lgfr    %r5,%r5                 # int
1174         jg      sys_readlinkat
1175
1176 ENTRY(sys_fchmodat_wrapper)
1177         lgfr    %r2,%r2                 # int
1178         llgtr   %r3,%r3                 # const char *
1179         llgfr   %r4,%r4                 # mode_t
1180         jg      sys_fchmodat
1181
1182 ENTRY(sys_faccessat_wrapper)
1183         lgfr    %r2,%r2                 # int
1184         llgtr   %r3,%r3                 # const char *
1185         lgfr    %r4,%r4                 # int
1186         jg      sys_faccessat
1187
1188 ENTRY(compat_sys_pselect6_wrapper)
1189         lgfr    %r2,%r2                 # int
1190         llgtr   %r3,%r3                 # fd_set *
1191         llgtr   %r4,%r4                 # fd_set *
1192         llgtr   %r5,%r5                 # fd_set *
1193         llgtr   %r6,%r6                 # struct timespec *
1194         llgt    %r0,164(%r15)           # void *
1195         stg     %r0,160(%r15)
1196         jg      compat_sys_pselect6
1197
1198 ENTRY(compat_sys_ppoll_wrapper)
1199         llgtr   %r2,%r2                 # struct pollfd *
1200         llgfr   %r3,%r3                 # unsigned int
1201         llgtr   %r4,%r4                 # struct timespec *
1202         llgtr   %r5,%r5                 # const sigset_t *
1203         llgfr   %r6,%r6                 # size_t
1204         jg      compat_sys_ppoll
1205
1206 ENTRY(sys_unshare_wrapper)
1207         llgfr   %r2,%r2                 # unsigned long
1208         jg      sys_unshare
1209
1210 ENTRY(sys_splice_wrapper)
1211         lgfr    %r2,%r2                 # int
1212         llgtr   %r3,%r3                 # loff_t *
1213         lgfr    %r4,%r4                 # int
1214         llgtr   %r5,%r5                 # loff_t *
1215         llgfr   %r6,%r6                 # size_t
1216         llgf    %r0,164(%r15)           # unsigned int
1217         stg     %r0,160(%r15)
1218         jg      sys_splice
1219
1220 ENTRY(sys_sync_file_range_wrapper)
1221         lgfr    %r2,%r2                 # int
1222         sllg    %r3,%r3,32              # get high word of 64bit loff_t
1223         or      %r3,%r4                 # get low word of 64bit loff_t
1224         sllg    %r4,%r5,32              # get high word of 64bit loff_t
1225         or      %r4,%r6                 # get low word of 64bit loff_t
1226         llgf    %r5,164(%r15)           # unsigned int
1227         jg      sys_sync_file_range
1228
1229 ENTRY(sys_tee_wrapper)
1230         lgfr    %r2,%r2                 # int
1231         lgfr    %r3,%r3                 # int
1232         llgfr   %r4,%r4                 # size_t
1233         llgfr   %r5,%r5                 # unsigned int
1234         jg      sys_tee
1235
1236 ENTRY(sys_getcpu_wrapper)
1237         llgtr   %r2,%r2                 # unsigned *
1238         llgtr   %r3,%r3                 # unsigned *
1239         llgtr   %r4,%r4                 # struct getcpu_cache *
1240         jg      sys_getcpu
1241
1242 ENTRY(compat_sys_utimes_wrapper)
1243         llgtr   %r2,%r2                 # char *
1244         llgtr   %r3,%r3                 # struct compat_timeval *
1245         jg      compat_sys_utimes
1246
1247 ENTRY(compat_sys_utimensat_wrapper)
1248         llgfr   %r2,%r2                 # unsigned int
1249         llgtr   %r3,%r3                 # char *
1250         llgtr   %r4,%r4                 # struct compat_timespec *
1251         lgfr    %r5,%r5                 # int
1252         jg      compat_sys_utimensat
1253
1254 ENTRY(sys_eventfd_wrapper)
1255         llgfr   %r2,%r2                 # unsigned int
1256         jg      sys_eventfd
1257
1258 ENTRY(sys_fallocate_wrapper)
1259         lgfr    %r2,%r2                 # int
1260         lgfr    %r3,%r3                 # int
1261         sllg    %r4,%r4,32              # get high word of 64bit loff_t
1262         lr      %r4,%r5                 # get low word of 64bit loff_t
1263         sllg    %r5,%r6,32              # get high word of 64bit loff_t
1264         l       %r5,164(%r15)           # get low word of 64bit loff_t
1265         jg      sys_fallocate
1266
1267 ENTRY(sys_timerfd_create_wrapper)
1268         lgfr    %r2,%r2                 # int
1269         lgfr    %r3,%r3                 # int
1270         jg      sys_timerfd_create
1271
1272 ENTRY(sys_eventfd2_wrapper)
1273         llgfr   %r2,%r2                 # unsigned int
1274         lgfr    %r3,%r3                 # int
1275         jg      sys_eventfd2
1276
1277 ENTRY(sys_inotify_init1_wrapper)
1278         lgfr    %r2,%r2                 # int
1279         jg      sys_inotify_init1
1280
1281 ENTRY(sys_pipe2_wrapper)
1282         llgtr   %r2,%r2                 # u32 *
1283         lgfr    %r3,%r3                 # int
1284         jg      sys_pipe2               # branch to system call
1285
1286 ENTRY(sys_dup3_wrapper)
1287         llgfr   %r2,%r2                 # unsigned int
1288         llgfr   %r3,%r3                 # unsigned int
1289         lgfr    %r4,%r4                 # int
1290         jg      sys_dup3                # branch to system call
1291
1292 ENTRY(sys_epoll_create1_wrapper)
1293         lgfr    %r2,%r2                 # int
1294         jg      sys_epoll_create1       # branch to system call
1295
1296 ENTRY(sys32_readahead_wrapper)
1297         lgfr    %r2,%r2                 # int
1298         llgfr   %r3,%r3                 # u32
1299         llgfr   %r4,%r4                 # u32
1300         lgfr    %r5,%r5                 # s32
1301         jg      sys32_readahead         # branch to system call
1302
1303 ENTRY(sys_tkill_wrapper)
1304         lgfr    %r2,%r2                 # pid_t
1305         lgfr    %r3,%r3                 # int
1306         jg      sys_tkill               # branch to system call
1307
1308 ENTRY(sys_tgkill_wrapper)
1309         lgfr    %r2,%r2                 # pid_t
1310         lgfr    %r3,%r3                 # pid_t
1311         lgfr    %r4,%r4                 # int
1312         jg      sys_tgkill              # branch to system call
1313
1314 ENTRY(compat_sys_keyctl_wrapper)
1315         llgfr   %r2,%r2                 # u32
1316         llgfr   %r3,%r3                 # u32
1317         llgfr   %r4,%r4                 # u32
1318         llgfr   %r5,%r5                 # u32
1319         llgfr   %r6,%r6                 # u32
1320         jg      compat_sys_keyctl       # branch to system call
1321
1322 ENTRY(sys_perf_event_open_wrapper)
1323         llgtr   %r2,%r2                 # const struct perf_event_attr *
1324         lgfr    %r3,%r3                 # pid_t
1325         lgfr    %r4,%r4                 # int
1326         lgfr    %r5,%r5                 # int
1327         llgfr   %r6,%r6                 # unsigned long
1328         jg      sys_perf_event_open     # branch to system call
1329
1330 ENTRY(sys_clone_wrapper)
1331         llgfr   %r2,%r2                 # unsigned long
1332         llgfr   %r3,%r3                 # unsigned long
1333         llgtr   %r4,%r4                 # int *
1334         llgtr   %r5,%r5                 # int *
1335         jg      sys_clone               # branch to system call
1336
1337 ENTRY(sys32_execve_wrapper)
1338         llgtr   %r2,%r2                 # char *
1339         llgtr   %r3,%r3                 # compat_uptr_t *
1340         llgtr   %r4,%r4                 # compat_uptr_t *
1341         jg      compat_sys_execve       # branch to system call
1342
1343 ENTRY(sys_fanotify_init_wrapper)
1344         llgfr   %r2,%r2                 # unsigned int
1345         llgfr   %r3,%r3                 # unsigned int
1346         jg      sys_fanotify_init       # branch to system call
1347
1348 ENTRY(sys_prlimit64_wrapper)
1349         lgfr    %r2,%r2                 # pid_t
1350         llgfr   %r3,%r3                 # unsigned int
1351         llgtr   %r4,%r4                 # const struct rlimit64 __user *
1352         llgtr   %r5,%r5                 # struct rlimit64 __user *
1353         jg      sys_prlimit64           # branch to system call
1354
1355 ENTRY(sys_name_to_handle_at_wrapper)
1356         lgfr    %r2,%r2                 # int
1357         llgtr   %r3,%r3                 # const char __user *
1358         llgtr   %r4,%r4                 # struct file_handle __user *
1359         llgtr   %r5,%r5                 # int __user *
1360         lgfr    %r6,%r6                 # int
1361         jg      sys_name_to_handle_at
1362
1363 ENTRY(compat_sys_clock_adjtime_wrapper)
1364         lgfr    %r2,%r2                 # clockid_t (int)
1365         llgtr   %r3,%r3                 # struct compat_timex __user *
1366         jg      compat_sys_clock_adjtime
1367
1368 ENTRY(sys_syncfs_wrapper)
1369         lgfr    %r2,%r2                 # int
1370         jg      sys_syncfs
1371
1372 ENTRY(sys_setns_wrapper)
1373         lgfr    %r2,%r2                 # int
1374         lgfr    %r3,%r3                 # int
1375         jg      sys_setns
1376
1377 ENTRY(compat_sys_process_vm_readv_wrapper)
1378         lgfr    %r2,%r2                 # compat_pid_t
1379         llgtr   %r3,%r3                 # struct compat_iovec __user *
1380         llgfr   %r4,%r4                 # unsigned long
1381         llgtr   %r5,%r5                 # struct compat_iovec __user *
1382         llgfr   %r6,%r6                 # unsigned long
1383         llgf    %r0,164(%r15)           # unsigned long
1384         stg     %r0,160(%r15)
1385         jg      compat_sys_process_vm_readv
1386
1387 ENTRY(compat_sys_process_vm_writev_wrapper)
1388         lgfr    %r2,%r2                 # compat_pid_t
1389         llgtr   %r3,%r3                 # struct compat_iovec __user *
1390         llgfr   %r4,%r4                 # unsigned long
1391         llgtr   %r5,%r5                 # struct compat_iovec __user *
1392         llgfr   %r6,%r6                 # unsigned long
1393         llgf    %r0,164(%r15)           # unsigned long
1394         stg     %r0,160(%r15)
1395         jg      compat_sys_process_vm_writev
1396
1397 ENTRY(sys_s390_runtime_instr_wrapper)
1398         lgfr    %r2,%r2                 # int
1399         lgfr    %r3,%r3                 # int
1400         jg      sys_s390_runtime_instr
1401
1402 ENTRY(sys_kcmp_wrapper)
1403         lgfr    %r2,%r2                 # pid_t
1404         lgfr    %r3,%r3                 # pid_t
1405         lgfr    %r4,%r4                 # int
1406         llgfr   %r5,%r5                 # unsigned long
1407         llgfr   %r6,%r6                 # unsigned long
1408         jg      sys_kcmp
1409
1410 ENTRY(sys_finit_module_wrapper)
1411         lgfr    %r2,%r2                 # int
1412         llgtr   %r3,%r3                 # const char __user *
1413         lgfr    %r4,%r4                 # int
1414         jg      sys_finit_module
1415
1416 ENTRY(sys_sched_setattr_wrapper)
1417         lgfr    %r2,%r2                 # pid_t
1418         llgtr   %r3,%r3                 # struct sched_attr __user *
1419         jg      sys_sched_setattr
1420
1421 ENTRY(sys_sched_getattr_wrapper)
1422         lgfr    %r2,%r2                 # pid_t
1423         llgtr   %r3,%r3                 # const char __user *
1424         llgfr   %r3,%r3                 # unsigned int
1425         jg      sys_sched_getattr