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