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