Linux Audio

Check our new training course

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