2005-04-17 06:20:36 +08:00
|
|
|
/*
|
2006-02-01 19:06:38 +08:00
|
|
|
* arch/s390/kernel/compat_wrapper.S
|
2005-04-17 06:20:36 +08:00
|
|
|
* wrapper for 31 bit compatible system calls.
|
|
|
|
*
|
2006-02-01 19:06:38 +08:00
|
|
|
* Copyright (C) IBM Corp. 2000,2006
|
2005-04-17 06:20:36 +08:00
|
|
|
* Author(s): Gerhard Tonn (ton@de.ibm.com),
|
2006-09-28 22:56:37 +08:00
|
|
|
* Thomas Spatzier (tspat@de.ibm.com)
|
|
|
|
*/
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
#include <linux/linkage.h>
|
|
|
|
|
|
|
|
ENTRY(sys32_exit_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
jg sys_exit # branch to sys_exit
|
2006-09-28 22:56:37 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_read_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgfr %r4,%r4 # size_t
|
|
|
|
jg sys32_read # branch to sys_read
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_write_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
llgfr %r4,%r4 # size_t
|
|
|
|
jg sys32_write # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_open_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
jg sys_open # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_close_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
jg sys_close # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_creat_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_creat # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_link_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
jg sys_link # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_unlink_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
jg sys_unlink # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_chdir_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
jg sys_chdir # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_time_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # int *
|
|
|
|
jg compat_sys_time # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_mknod_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
2006-09-28 22:56:37 +08:00
|
|
|
lgfr %r3,%r3 # int
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r4,%r4 # dev
|
|
|
|
jg sys_mknod # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_chmod_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
llgfr %r3,%r3 # mode_t
|
|
|
|
jg sys_chmod # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_lchown16_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r3,%r3 # __kernel_old_uid_emu31_t
|
|
|
|
llgfr %r4,%r4 # __kernel_old_uid_emu31_t
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys32_lchown16 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_lseek_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
lgfr %r3,%r3 # off_t
|
|
|
|
llgfr %r4,%r4 # unsigned int
|
|
|
|
jg sys_lseek # branch to system call
|
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_getpid_wrapper # void
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_mount_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgtr %r4,%r4 # char *
|
|
|
|
llgfr %r5,%r5 # unsigned long
|
|
|
|
llgtr %r6,%r6 # void *
|
|
|
|
jg compat_sys_mount # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_oldumount_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
jg sys_oldumount # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setuid16_wrapper)
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r2,%r2 # __kernel_old_uid_emu31_t
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys32_setuid16 # branch to system call
|
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_getuid16_wrapper # void
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_ptrace_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # long
|
|
|
|
lgfr %r3,%r3 # long
|
|
|
|
llgtr %r4,%r4 # long
|
|
|
|
llgfr %r5,%r5 # long
|
2008-05-07 15:22:57 +08:00
|
|
|
jg compat_sys_ptrace # branch to system call
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_alarm_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
jg sys_alarm # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_utime_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # struct compat_utimbuf *
|
|
|
|
jg compat_sys_utime # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_access_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_access # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_nice_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
jg sys_nice # branch to system call
|
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_sync_wrapper # void
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_kill_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_kill # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_rename_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
jg sys_rename # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_mkdir_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_mkdir # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_rmdir_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
jg sys_rmdir # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_dup_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
jg sys_dup # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_pipe_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # u32 *
|
|
|
|
jg sys_pipe # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_times_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # struct compat_tms *
|
|
|
|
jg compat_sys_times # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_brk_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # unsigned long
|
|
|
|
jg sys_brk # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setgid16_wrapper)
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r2,%r2 # __kernel_old_gid_emu31_t
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys32_setgid16 # branch to system call
|
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_getgid16_wrapper # void
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_signal_wrapper)
|
2006-09-28 22:56:37 +08:00
|
|
|
lgfr %r2,%r2 # int
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r3,%r3 # __sighandler_t
|
|
|
|
jg sys_signal
|
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_geteuid16_wrapper # void
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_getegid16_wrapper # void
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_acct_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
jg sys_acct # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_umount_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_umount # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_ioctl_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgfr %r3,%r3 # unsigned int
|
|
|
|
llgfr %r4,%r4 # unsigned int
|
|
|
|
jg compat_sys_ioctl # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_fcntl_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r3,%r3 # unsigned int
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
jg compat_sys_fcntl # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setpgid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # pid_t
|
|
|
|
lgfr %r3,%r3 # pid_t
|
|
|
|
jg sys_setpgid # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_umask_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
jg sys_umask # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_chroot_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
jg sys_chroot # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_ustat_wrapper)
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r2,%r2 # dev_t
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r3,%r3 # struct ustat *
|
2008-11-28 17:09:09 +08:00
|
|
|
jg compat_sys_ustat
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_dup2_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgfr %r3,%r3 # unsigned int
|
|
|
|
jg sys_dup2 # branch to system call
|
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_getppid_wrapper # void
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_getpgrp_wrapper # void
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_setsid_wrapper # void
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sigaction_wrapper)
|
2006-09-28 22:56:37 +08:00
|
|
|
lgfr %r2,%r2 # int
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r3,%r3 # const struct old_sigaction *
|
|
|
|
llgtr %r4,%r4 # struct old_sigaction32 *
|
|
|
|
jg sys32_sigaction # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setreuid16_wrapper)
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r2,%r2 # __kernel_old_uid_emu31_t
|
|
|
|
llgfr %r3,%r3 # __kernel_old_uid_emu31_t
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys32_setreuid16 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setregid16_wrapper)
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r2,%r2 # __kernel_old_gid_emu31_t
|
|
|
|
llgfr %r3,%r3 # __kernel_old_gid_emu31_t
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys32_setregid16 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_sigsuspend_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
llgfr %r4,%r4 # old_sigset_t
|
|
|
|
jg sys_sigsuspend
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_sigpending_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # compat_old_sigset_t *
|
|
|
|
jg compat_sys_sigpending # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sethostname_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_sethostname # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_setrlimit_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # struct rlimit_emu31 *
|
|
|
|
jg compat_sys_setrlimit # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_old_getrlimit_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # struct rlimit_emu31 *
|
|
|
|
jg compat_sys_old_getrlimit # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_getrlimit_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # struct rlimit_emu31 *
|
|
|
|
jg compat_sys_getrlimit # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_mmap2_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
|
|
|
|
jg sys32_mmap2 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_getrusage_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # struct rusage_emu31 *
|
|
|
|
jg compat_sys_getrusage # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_gettimeofday_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # struct timeval_emu31 *
|
|
|
|
llgtr %r3,%r3 # struct timezone *
|
2008-10-16 13:02:06 +08:00
|
|
|
jg compat_sys_gettimeofday # branch to system call
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_settimeofday_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # struct timeval_emu31 *
|
|
|
|
llgtr %r3,%r3 # struct timezone *
|
2008-10-16 13:02:06 +08:00
|
|
|
jg compat_sys_settimeofday # branch to system call
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_getgroups16_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
|
|
|
|
jg sys32_getgroups16 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setgroups16_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
|
|
|
|
jg sys32_setgroups16 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_symlink_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
jg sys_symlink # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_readlink_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
jg sys_readlink # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_uselib_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
jg sys_uselib # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_swapon_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_swapon # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_reboot_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
llgfr %r4,%r4 # unsigned int
|
|
|
|
llgtr %r5,%r5 # void *
|
|
|
|
jg sys_reboot # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(old32_readdir_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # void *
|
|
|
|
llgfr %r4,%r4 # unsigned int
|
|
|
|
jg compat_sys_old_readdir # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(old32_mmap_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
|
|
|
|
jg old32_mmap # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_munmap_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r3,%r3 # size_t
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys_munmap # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_truncate_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
2009-10-06 16:34:06 +08:00
|
|
|
lgfr %r3,%r3 # long
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys_truncate # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_ftruncate_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgfr %r3,%r3 # unsigned long
|
|
|
|
jg sys_ftruncate # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_fchmod_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgfr %r3,%r3 # mode_t
|
|
|
|
jg sys_fchmod # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_fchown16_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgfr %r3,%r3 # compat_uid_t
|
|
|
|
llgfr %r4,%r4 # compat_uid_t
|
|
|
|
jg sys32_fchown16 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_getpriority_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_getpriority # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setpriority_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
jg sys_setpriority # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_statfs_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # struct compat_statfs *
|
|
|
|
jg compat_sys_statfs # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_fstatfs_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # struct compat_statfs *
|
|
|
|
jg compat_sys_fstatfs # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_socketcall_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # u32 *
|
|
|
|
jg compat_sys_socketcall # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_syslog_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
jg sys_syslog # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_setitimer_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # struct itimerval_emu31 *
|
|
|
|
llgtr %r4,%r4 # struct itimerval_emu31 *
|
|
|
|
jg compat_sys_setitimer # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_getitimer_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # struct itimerval_emu31 *
|
|
|
|
jg compat_sys_getitimer # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_newstat_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # struct stat_emu31 *
|
|
|
|
jg compat_sys_newstat # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_newlstat_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # struct stat_emu31 *
|
|
|
|
jg compat_sys_newlstat # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_newfstat_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # struct stat_emu31 *
|
|
|
|
jg compat_sys_newfstat # branch to system call
|
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_vhangup_wrapper # void
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_wait4_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # pid_t
|
|
|
|
llgtr %r3,%r3 # unsigned int *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
llgtr %r5,%r5 # struct rusage *
|
|
|
|
jg compat_sys_wait4 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_swapoff_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
jg sys_swapoff # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_sysinfo_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # struct sysinfo_emu31 *
|
2007-02-10 17:46:00 +08:00
|
|
|
jg compat_sys_sysinfo # branch to system call
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_ipc_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # uint
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
lgfr %r5,%r5 # int
|
|
|
|
llgfr %r6,%r6 # u32
|
|
|
|
jg sys32_ipc # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_fsync_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
jg sys_fsync # branch to system call
|
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_sigreturn_wrapper # done in sigreturn_glue
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_clone_wrapper # done in clone_glue
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setdomainname_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_setdomainname # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_newuname_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # struct new_utsname *
|
2010-03-11 07:21:19 +08:00
|
|
|
jg sys_newuname # branch to system call
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_adjtimex_wrapper)
|
2006-03-26 17:37:29 +08:00
|
|
|
llgtr %r2,%r2 # struct compat_timex *
|
|
|
|
jg compat_sys_adjtimex # branch to system call
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_mprotect_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # unsigned long (actually pointer
|
|
|
|
llgfr %r3,%r3 # size_t
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
jg sys_mprotect # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_sigprocmask_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # compat_old_sigset_t *
|
|
|
|
llgtr %r4,%r4 # compat_old_sigset_t *
|
|
|
|
jg compat_sys_sigprocmask # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_init_module_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # void *
|
|
|
|
llgfr %r3,%r3 # unsigned long
|
|
|
|
llgtr %r4,%r4 # char *
|
2009-09-23 04:58:43 +08:00
|
|
|
jg sys_init_module # branch to system call
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_delete_module_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
llgfr %r3,%r3 # unsigned int
|
2009-09-23 04:58:43 +08:00
|
|
|
jg sys_delete_module # branch to system call
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_quotactl_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
llgfr %r4,%r4 # qid_t
|
|
|
|
llgtr %r5,%r5 # caddr_t
|
|
|
|
jg sys_quotactl # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_getpgid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # pid_t
|
|
|
|
jg sys_getpgid # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_fchdir_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
jg sys_fchdir # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_bdflush_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # long
|
|
|
|
jg sys_bdflush # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sysfs_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgfr %r3,%r3 # unsigned long
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
jg sys_sysfs # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_personality_wrapper)
|
2010-08-13 16:06:39 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
2009-01-14 21:14:36 +08:00
|
|
|
jg sys_s390_personality # branch to system call
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setfsuid16_wrapper)
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r2,%r2 # __kernel_old_uid_emu31_t
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys32_setfsuid16 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setfsgid16_wrapper)
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r2,%r2 # __kernel_old_gid_emu31_t
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys32_setfsgid16 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_llseek_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgfr %r3,%r3 # unsigned long
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
llgtr %r5,%r5 # loff_t *
|
|
|
|
llgfr %r6,%r6 # unsigned int
|
|
|
|
jg sys_llseek # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_getdents_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # void *
|
|
|
|
llgfr %r4,%r4 # unsigned int
|
|
|
|
jg compat_sys_getdents # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_select_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # compat_fd_set *
|
|
|
|
llgtr %r4,%r4 # compat_fd_set *
|
|
|
|
llgtr %r5,%r5 # compat_fd_set *
|
|
|
|
llgtr %r6,%r6 # struct compat_timeval *
|
|
|
|
jg compat_sys_select # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_flock_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgfr %r3,%r3 # unsigned int
|
|
|
|
jg sys_flock # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_msync_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
|
|
|
llgfr %r3,%r3 # size_t
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
jg sys_msync # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_readv_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const struct compat_iovec *
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
jg compat_sys_readv # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_writev_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const struct compat_iovec *
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
jg compat_sys_writev # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_getsid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # pid_t
|
|
|
|
jg sys_getsid # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_fdatasync_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
jg sys_fdatasync # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_mlock_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
|
|
|
llgfr %r3,%r3 # size_t
|
|
|
|
jg sys_mlock # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_munlock_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
|
|
|
llgfr %r3,%r3 # size_t
|
|
|
|
jg sys_munlock # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_mlockall_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
jg sys_mlockall # branch to system call
|
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_munlockall_wrapper # void
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sched_setparam_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # pid_t
|
|
|
|
llgtr %r3,%r3 # struct sched_param *
|
|
|
|
jg sys_sched_setparam # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sched_getparam_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # pid_t
|
|
|
|
llgtr %r3,%r3 # struct sched_param *
|
|
|
|
jg sys_sched_getparam # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sched_setscheduler_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # pid_t
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
llgtr %r4,%r4 # struct sched_param *
|
|
|
|
jg sys_sched_setscheduler # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sched_getscheduler_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # pid_t
|
|
|
|
jg sys_sched_getscheduler # branch to system call
|
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_sched_yield_wrapper # void
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sched_get_priority_max_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
jg sys_sched_get_priority_max # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sched_get_priority_min_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
jg sys_sched_get_priority_min # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sched_rr_get_interval_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # pid_t
|
|
|
|
llgtr %r3,%r3 # struct compat_timespec *
|
|
|
|
jg sys32_sched_rr_get_interval # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_nanosleep_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # struct compat_timespec *
|
|
|
|
llgtr %r3,%r3 # struct compat_timespec *
|
|
|
|
jg compat_sys_nanosleep # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_mremap_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
|
|
|
llgfr %r3,%r3 # unsigned long
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
llgfr %r5,%r5 # unsigned long
|
|
|
|
llgfr %r6,%r6 # unsigned long
|
|
|
|
jg sys_mremap # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setresuid16_wrapper)
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r2,%r2 # __kernel_old_uid_emu31_t
|
|
|
|
llgfr %r3,%r3 # __kernel_old_uid_emu31_t
|
|
|
|
llgfr %r4,%r4 # __kernel_old_uid_emu31_t
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys32_setresuid16 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_getresuid16_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # __kernel_old_uid_emu31_t *
|
|
|
|
llgtr %r3,%r3 # __kernel_old_uid_emu31_t *
|
|
|
|
llgtr %r4,%r4 # __kernel_old_uid_emu31_t *
|
|
|
|
jg sys32_getresuid16 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_poll_wrapper)
|
2006-09-28 22:56:37 +08:00
|
|
|
llgtr %r2,%r2 # struct pollfd *
|
|
|
|
llgfr %r3,%r3 # unsigned int
|
sys_poll: fix incorrect type for 'timeout' parameter
The 'poll()' system call timeout parameter is supposed to be 'int', not
'long'.
Now, the reason this matters is that right now 32-bit compat mode is
broken on at least x86-64, because the 32-bit code just calls
'sys_poll()' directly on x86-64, and the 32-bit argument will have been
zero-extended, turning a signed 'int' into a large unsigned 'long'
value.
We could just introduce a 'compat_sys_poll()' function for this, and
that may eventually be what we have to do, but since the actual standard
poll() semantics is *supposed* to be 'int', and since at least on x86-64
glibc sign-extends the argument before invocing the system call (so
nobody can actually use a 64-bit timeout value in user space _anyway_,
even in 64-bit binaries), the simpler solution would seem to be to just
fix the definition of the system call to match what it should have been
from the very start.
If it turns out that somebody somehow circumvents the user-level libc
64-bit sign extension and actually uses a large unsigned 64-bit timeout
despite that not being how poll() is supposed to work, we will need to
do the compat_sys_poll() approach.
Reported-by: Thomas Meyer <thomas@m3y3r.de>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-02-22 09:24:20 +08:00
|
|
|
lgfr %r4,%r4 # int
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys_poll # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setresgid16_wrapper)
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r2,%r2 # __kernel_old_gid_emu31_t
|
|
|
|
llgfr %r3,%r3 # __kernel_old_gid_emu31_t
|
|
|
|
llgfr %r4,%r4 # __kernel_old_gid_emu31_t
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys32_setresgid16 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_getresgid16_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # __kernel_old_gid_emu31_t *
|
|
|
|
llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
|
|
|
|
llgtr %r4,%r4 # __kernel_old_gid_emu31_t *
|
|
|
|
jg sys32_getresgid16 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_prctl_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgfr %r3,%r3 # unsigned long
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
llgfr %r5,%r5 # unsigned long
|
|
|
|
llgfr %r6,%r6 # unsigned long
|
|
|
|
jg sys_prctl # branch to system call
|
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_rt_sigreturn_wrapper # done in rt_sigreturn_glue
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_rt_sigaction_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const struct sigaction_emu31 *
|
|
|
|
llgtr %r4,%r4 # const struct sigaction_emu31 *
|
|
|
|
llgfr %r5,%r5 # size_t
|
|
|
|
jg sys32_rt_sigaction # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_rt_sigprocmask_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # old_sigset_emu31 *
|
|
|
|
llgtr %r4,%r4 # old_sigset_emu31 *
|
|
|
|
llgfr %r5,%r5 # size_t
|
|
|
|
jg sys32_rt_sigprocmask # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_rt_sigpending_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # sigset_emu31 *
|
|
|
|
llgfr %r3,%r3 # size_t
|
|
|
|
jg sys32_rt_sigpending # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_rt_sigtimedwait_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const sigset_emu31_t *
|
|
|
|
llgtr %r3,%r3 # siginfo_emu31_t *
|
|
|
|
llgtr %r4,%r4 # const struct compat_timespec *
|
|
|
|
llgfr %r5,%r5 # size_t
|
|
|
|
jg compat_sys_rt_sigtimedwait # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_rt_sigqueueinfo_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
llgtr %r4,%r4 # siginfo_emu31_t *
|
|
|
|
jg sys32_rt_sigqueueinfo # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_rt_sigsuspend_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
llgtr %r2,%r2 # compat_sigset_t *
|
|
|
|
llgfr %r3,%r3 # compat_size_t
|
|
|
|
jg compat_sys_rt_sigsuspend
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_pread64_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgfr %r4,%r4 # size_t
|
|
|
|
llgfr %r5,%r5 # u32
|
|
|
|
llgfr %r6,%r6 # u32
|
|
|
|
jg sys32_pread64 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_pwrite64_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
llgfr %r4,%r4 # size_t
|
|
|
|
llgfr %r5,%r5 # u32
|
|
|
|
llgfr %r6,%r6 # u32
|
|
|
|
jg sys32_pwrite64 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_chown16_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r3,%r3 # __kernel_old_uid_emu31_t
|
|
|
|
llgfr %r4,%r4 # __kernel_old_gid_emu31_t
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys32_chown16 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_getcwd_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgfr %r3,%r3 # unsigned long
|
|
|
|
jg sys_getcwd # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_capget_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # cap_user_header_t
|
|
|
|
llgtr %r3,%r3 # cap_user_data_t
|
|
|
|
jg sys_capget # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_capset_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # cap_user_header_t
|
|
|
|
llgtr %r3,%r3 # const cap_user_data_t
|
|
|
|
jg sys_capset # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sigaltstack_wrapper)
|
2006-09-28 22:56:37 +08:00
|
|
|
llgtr %r2,%r2 # const stack_emu31_t *
|
|
|
|
llgtr %r3,%r3 # stack_emu31_t *
|
2005-04-17 06:20:36 +08:00
|
|
|
jg sys32_sigaltstack
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sendfile_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
llgtr %r4,%r4 # __kernel_off_emu31_t *
|
|
|
|
llgfr %r5,%r5 # size_t
|
|
|
|
jg sys32_sendfile # branch to system call
|
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_vfork_wrapper # done in vfork_glue
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_truncate64_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
llgfr %r3,%r3 # unsigned long
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
jg sys32_truncate64 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_ftruncate64_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgfr %r3,%r3 # unsigned long
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
jg sys32_ftruncate64 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_lchown_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
llgfr %r3,%r3 # uid_t
|
|
|
|
llgfr %r4,%r4 # gid_t
|
|
|
|
jg sys_lchown # branch to system call
|
|
|
|
|
2006-09-28 22:56:37 +08:00
|
|
|
#sys32_getuid_wrapper # void
|
|
|
|
#sys32_getgid_wrapper # void
|
|
|
|
#sys32_geteuid_wrapper # void
|
|
|
|
#sys32_getegid_wrapper # void
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setreuid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # uid_t
|
|
|
|
llgfr %r3,%r3 # uid_t
|
|
|
|
jg sys_setreuid # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setregid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # gid_t
|
|
|
|
llgfr %r3,%r3 # gid_t
|
|
|
|
jg sys_setregid # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_getgroups_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # gid_t *
|
|
|
|
jg sys_getgroups # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setgroups_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # gid_t *
|
|
|
|
jg sys_setgroups # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_fchown_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgfr %r3,%r3 # uid_t
|
|
|
|
llgfr %r4,%r4 # gid_t
|
|
|
|
jg sys_fchown # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setresuid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # uid_t
|
|
|
|
llgfr %r3,%r3 # uid_t
|
|
|
|
llgfr %r4,%r4 # uid_t
|
|
|
|
jg sys_setresuid # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_getresuid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # uid_t *
|
|
|
|
llgtr %r3,%r3 # uid_t *
|
|
|
|
llgtr %r4,%r4 # uid_t *
|
|
|
|
jg sys_getresuid # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setresgid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # gid_t
|
|
|
|
llgfr %r3,%r3 # gid_t
|
|
|
|
llgfr %r4,%r4 # gid_t
|
|
|
|
jg sys_setresgid # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_getresgid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # gid_t *
|
|
|
|
llgtr %r3,%r3 # gid_t *
|
|
|
|
llgtr %r4,%r4 # gid_t *
|
|
|
|
jg sys_getresgid # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_chown_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
llgfr %r3,%r3 # uid_t
|
|
|
|
llgfr %r4,%r4 # gid_t
|
|
|
|
jg sys_chown # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setuid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # uid_t
|
|
|
|
jg sys_setuid # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setgid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # gid_t
|
|
|
|
jg sys_setgid # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setfsuid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # uid_t
|
|
|
|
jg sys_setfsuid # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setfsgid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # gid_t
|
|
|
|
jg sys_setfsgid # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_pivot_root_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
jg sys_pivot_root # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_mincore_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
|
|
|
llgfr %r3,%r3 # size_t
|
|
|
|
llgtr %r4,%r4 # unsigned char *
|
|
|
|
jg sys_mincore # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_madvise_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
|
|
|
llgfr %r3,%r3 # size_t
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
jg sys_madvise # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_getdents64_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # void *
|
|
|
|
llgfr %r4,%r4 # unsigned int
|
|
|
|
jg sys_getdents64 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_fcntl64_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
2006-09-28 22:56:37 +08:00
|
|
|
llgfr %r3,%r3 # unsigned int
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
jg compat_sys_fcntl64 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_stat64_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # struct stat64 *
|
|
|
|
jg sys32_stat64 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_lstat64_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # struct stat64 *
|
|
|
|
jg sys32_lstat64 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_stime_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # long *
|
|
|
|
jg compat_sys_stime # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sysctl_wrapper)
|
2009-04-03 15:52:35 +08:00
|
|
|
llgtr %r2,%r2 # struct compat_sysctl_args *
|
|
|
|
jg compat_sys_sysctl
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_fstat64_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
|
|
|
llgtr %r3,%r3 # struct stat64 *
|
|
|
|
jg sys32_fstat64 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_futex_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # u32 *
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
llgtr %r5,%r5 # struct compat_timespec *
|
|
|
|
llgtr %r6,%r6 # u32 *
|
|
|
|
lgf %r0,164(%r15) # int
|
|
|
|
stg %r0,160(%r15)
|
|
|
|
jg compat_sys_futex # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_setxattr_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgtr %r4,%r4 # void *
|
|
|
|
llgfr %r5,%r5 # size_t
|
|
|
|
lgfr %r6,%r6 # int
|
|
|
|
jg sys_setxattr
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_lsetxattr_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgtr %r4,%r4 # void *
|
|
|
|
llgfr %r5,%r5 # size_t
|
|
|
|
lgfr %r6,%r6 # int
|
|
|
|
jg sys_lsetxattr
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_fsetxattr_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgtr %r4,%r4 # void *
|
|
|
|
llgfr %r5,%r5 # size_t
|
|
|
|
lgfr %r6,%r6 # int
|
|
|
|
jg sys_fsetxattr
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_getxattr_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgtr %r4,%r4 # void *
|
|
|
|
llgfr %r5,%r5 # size_t
|
|
|
|
jg sys_getxattr
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_lgetxattr_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgtr %r4,%r4 # void *
|
|
|
|
llgfr %r5,%r5 # size_t
|
|
|
|
jg sys_lgetxattr
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_fgetxattr_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgtr %r4,%r4 # void *
|
|
|
|
llgfr %r5,%r5 # size_t
|
|
|
|
jg sys_fgetxattr
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_listxattr_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgfr %r4,%r4 # size_t
|
|
|
|
jg sys_listxattr
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_llistxattr_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgfr %r4,%r4 # size_t
|
|
|
|
jg sys_llistxattr
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_flistxattr_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgfr %r4,%r4 # size_t
|
|
|
|
jg sys_flistxattr
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_removexattr_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
jg sys_removexattr
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_lremovexattr_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
jg sys_lremovexattr
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_fremovexattr_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
jg sys_fremovexattr
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sched_setaffinity_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgfr %r3,%r3 # unsigned int
|
|
|
|
llgtr %r4,%r4 # unsigned long *
|
|
|
|
jg compat_sys_sched_setaffinity
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sched_getaffinity_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgfr %r3,%r3 # unsigned int
|
|
|
|
llgtr %r4,%r4 # unsigned long *
|
|
|
|
jg compat_sys_sched_getaffinity
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_exit_group_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
jg sys_exit_group # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_set_tid_address_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # int *
|
|
|
|
jg sys_set_tid_address # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_epoll_create_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
jg sys_epoll_create # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_epoll_ctl_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
llgtr %r5,%r5 # struct epoll_event *
|
|
|
|
jg sys_epoll_ctl # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_epoll_wait_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # struct epoll_event *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
lgfr %r5,%r5 # int
|
|
|
|
jg sys_epoll_wait # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_lookup_dcookie_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
sllg %r2,%r2,32 # get high word of 64bit dcookie
|
|
|
|
or %r2,%r3 # get low word of 64bit dcookie
|
|
|
|
llgtr %r3,%r4 # char *
|
|
|
|
llgfr %r4,%r5 # size_t
|
|
|
|
jg sys_lookup_dcookie
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_fadvise64_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
sllg %r3,%r3,32 # get high word of 64bit loff_t
|
|
|
|
or %r3,%r4 # get low word of 64bit loff_t
|
|
|
|
llgfr %r4,%r5 # size_t (unsigned long)
|
|
|
|
lgfr %r5,%r6 # int
|
2005-07-13 16:10:46 +08:00
|
|
|
jg sys32_fadvise64
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_fadvise64_64_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # struct fadvise64_64_args *
|
2005-07-13 16:10:46 +08:00
|
|
|
jg sys32_fadvise64_64
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_clock_settime_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # clockid_t (int)
|
|
|
|
llgtr %r3,%r3 # struct compat_timespec *
|
|
|
|
jg compat_sys_clock_settime
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_clock_gettime_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # clockid_t (int)
|
|
|
|
llgtr %r3,%r3 # struct compat_timespec *
|
|
|
|
jg compat_sys_clock_gettime
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_clock_getres_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # clockid_t (int)
|
|
|
|
llgtr %r3,%r3 # struct compat_timespec *
|
|
|
|
jg compat_sys_clock_getres
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_clock_nanosleep_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # clockid_t (int)
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
llgtr %r4,%r4 # struct compat_timespec *
|
|
|
|
llgtr %r5,%r5 # struct compat_timespec *
|
|
|
|
jg compat_sys_clock_nanosleep
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_timer_create_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # timer_t (int)
|
|
|
|
llgtr %r3,%r3 # struct compat_sigevent *
|
|
|
|
llgtr %r4,%r4 # timer_t *
|
2006-01-10 12:52:08 +08:00
|
|
|
jg compat_sys_timer_create
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_timer_settime_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # timer_t (int)
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
llgtr %r4,%r4 # struct compat_itimerspec *
|
|
|
|
llgtr %r5,%r5 # struct compat_itimerspec *
|
|
|
|
jg compat_sys_timer_settime
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_timer_gettime_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # timer_t (int)
|
|
|
|
llgtr %r3,%r3 # struct compat_itimerspec *
|
|
|
|
jg compat_sys_timer_gettime
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_timer_getoverrun_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # timer_t (int)
|
|
|
|
jg sys_timer_getoverrun
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_timer_delete_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # timer_t (int)
|
|
|
|
jg sys_timer_delete
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_io_setup_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # u32 *
|
|
|
|
jg compat_sys_io_setup
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_io_destroy_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # (aio_context_t) u32
|
|
|
|
jg sys_io_destroy
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_io_getevents_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # (aio_context_t) u32
|
|
|
|
lgfr %r3,%r3 # long
|
|
|
|
lgfr %r4,%r4 # long
|
|
|
|
llgtr %r5,%r5 # struct io_event *
|
|
|
|
llgtr %r6,%r6 # struct compat_timespec *
|
|
|
|
jg compat_sys_io_getevents
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_io_submit_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # (aio_context_t) u32
|
|
|
|
lgfr %r3,%r3 # long
|
|
|
|
llgtr %r4,%r4 # struct iocb **
|
|
|
|
jg compat_sys_io_submit
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_io_cancel_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # (aio_context_t) u32
|
|
|
|
llgtr %r3,%r3 # struct iocb *
|
|
|
|
llgtr %r4,%r4 # struct io_event *
|
|
|
|
jg sys_io_cancel
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_statfs64_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
llgfr %r3,%r3 # compat_size_t
|
|
|
|
llgtr %r4,%r4 # struct compat_statfs64 *
|
|
|
|
jg compat_sys_statfs64
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_fstatfs64_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int fd
|
|
|
|
llgfr %r3,%r3 # compat_size_t
|
|
|
|
llgtr %r4,%r4 # struct compat_statfs64 *
|
|
|
|
jg compat_sys_fstatfs64
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_mq_open_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
llgfr %r4,%r4 # mode_t
|
|
|
|
llgtr %r5,%r5 # struct compat_mq_attr *
|
|
|
|
jg compat_sys_mq_open
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_mq_unlink_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
jg sys_mq_unlink
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_mq_timedsend_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # mqd_t
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
llgfr %r4,%r4 # size_t
|
|
|
|
llgfr %r5,%r5 # unsigned int
|
|
|
|
llgtr %r6,%r6 # const struct compat_timespec *
|
|
|
|
jg compat_sys_mq_timedsend
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_mq_timedreceive_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # mqd_t
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgfr %r4,%r4 # size_t
|
|
|
|
llgtr %r5,%r5 # unsigned int *
|
|
|
|
llgtr %r6,%r6 # const struct compat_timespec *
|
|
|
|
jg compat_sys_mq_timedreceive
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_mq_notify_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # mqd_t
|
|
|
|
llgtr %r3,%r3 # struct compat_sigevent *
|
|
|
|
jg compat_sys_mq_notify
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_mq_getsetattr_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # mqd_t
|
|
|
|
llgtr %r3,%r3 # struct compat_mq_attr *
|
|
|
|
llgtr %r4,%r4 # struct compat_mq_attr *
|
|
|
|
jg compat_sys_mq_getsetattr
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_add_key_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
llgtr %r4,%r4 # const void *
|
|
|
|
llgfr %r5,%r5 # size_t
|
|
|
|
llgfr %r6,%r6 # (key_serial_t) u32
|
|
|
|
jg sys_add_key
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_request_key_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
llgtr %r4,%r4 # const void *
|
|
|
|
llgfr %r5,%r5 # (key_serial_t) u32
|
|
|
|
jg sys_request_key
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_remap_file_pages_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
|
|
|
llgfr %r3,%r3 # unsigned long
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
llgfr %r5,%r5 # unsigned long
|
|
|
|
llgfr %r6,%r6 # unsigned long
|
|
|
|
jg sys_remap_file_pages
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_waitid_wrapper)
|
2005-04-17 06:20:36 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # pid_t
|
|
|
|
llgtr %r4,%r4 # siginfo_emu31_t *
|
|
|
|
lgfr %r5,%r5 # int
|
|
|
|
llgtr %r6,%r6 # struct rusage_emu31 *
|
|
|
|
jg compat_sys_waitid
|
2005-06-26 05:58:11 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_kexec_load_wrapper)
|
2005-06-26 05:58:11 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
|
|
|
llgfr %r3,%r3 # unsigned long
|
|
|
|
llgtr %r4,%r4 # struct kexec_segment *
|
|
|
|
llgfr %r5,%r5 # unsigned long
|
|
|
|
jg compat_sys_kexec_load
|
2005-08-02 12:11:34 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_ioprio_set_wrapper)
|
2005-08-02 12:11:34 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
jg sys_ioprio_set
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_ioprio_get_wrapper)
|
2005-08-02 12:11:34 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_ioprio_get
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_inotify_add_watch_wrapper)
|
2005-08-02 12:11:34 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
llgfr %r4,%r4 # u32
|
|
|
|
jg sys_inotify_add_watch
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_inotify_rm_watch_wrapper)
|
2005-08-02 12:11:34 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgfr %r3,%r3 # u32
|
|
|
|
jg sys_inotify_rm_watch
|
2006-02-01 19:06:38 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_openat_wrapper)
|
2006-02-03 19:03:52 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
2006-02-01 19:06:38 +08:00
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
lgfr %r5,%r5 # int
|
|
|
|
jg compat_sys_openat
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_mkdirat_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
jg sys_mkdirat
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_mknodat_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
llgfr %r5,%r5 # unsigned int
|
|
|
|
jg sys_mknodat
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_fchownat_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
llgfr %r4,%r4 # uid_t
|
|
|
|
llgfr %r5,%r5 # gid_t
|
|
|
|
lgfr %r6,%r6 # int
|
|
|
|
jg sys_fchownat
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_futimesat_wrapper)
|
2006-02-03 19:03:52 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
2006-02-01 19:06:38 +08:00
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgtr %r4,%r4 # struct timeval *
|
|
|
|
jg compat_sys_futimesat
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_fstatat64_wrapper)
|
2006-02-03 19:03:52 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
2006-02-01 19:06:38 +08:00
|
|
|
llgtr %r3,%r3 # char *
|
2006-02-12 19:35:03 +08:00
|
|
|
llgtr %r4,%r4 # struct stat64 *
|
2006-02-01 19:06:38 +08:00
|
|
|
lgfr %r5,%r5 # int
|
2006-02-18 05:52:50 +08:00
|
|
|
jg sys32_fstatat64
|
2006-02-01 19:06:38 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_unlinkat_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
jg sys_unlinkat
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_renameat_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
llgtr %r5,%r5 # const char *
|
|
|
|
jg sys_renameat
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_linkat_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
llgtr %r5,%r5 # const char *
|
2006-02-25 05:04:21 +08:00
|
|
|
lgfr %r6,%r6 # int
|
2006-02-01 19:06:38 +08:00
|
|
|
jg sys_linkat
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_symlinkat_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
llgtr %r2,%r2 # const char *
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
llgtr %r4,%r4 # const char *
|
|
|
|
jg sys_symlinkat
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_readlinkat_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
llgtr %r4,%r4 # char *
|
|
|
|
lgfr %r5,%r5 # int
|
|
|
|
jg sys_readlinkat
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_fchmodat_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
llgfr %r4,%r4 # mode_t
|
|
|
|
jg sys_fchmodat
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_faccessat_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const char *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
jg sys_faccessat
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_pselect6_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # fd_set *
|
|
|
|
llgtr %r4,%r4 # fd_set *
|
|
|
|
llgtr %r5,%r5 # fd_set *
|
|
|
|
llgtr %r6,%r6 # struct timespec *
|
|
|
|
llgt %r0,164(%r15) # void *
|
|
|
|
stg %r0,160(%r15)
|
|
|
|
jg compat_sys_pselect6
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_ppoll_wrapper)
|
2006-02-01 19:06:38 +08:00
|
|
|
llgtr %r2,%r2 # struct pollfd *
|
|
|
|
llgfr %r3,%r3 # unsigned int
|
|
|
|
llgtr %r4,%r4 # struct timespec *
|
|
|
|
llgtr %r5,%r5 # const sigset_t *
|
|
|
|
llgfr %r6,%r6 # size_t
|
|
|
|
jg compat_sys_ppoll
|
2006-02-12 09:56:02 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_unshare_wrapper)
|
2006-02-12 09:56:02 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
|
|
|
jg sys_unshare
|
2006-04-28 09:40:33 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_set_robust_list_wrapper)
|
2006-04-28 09:40:33 +08:00
|
|
|
llgtr %r2,%r2 # struct compat_robust_list_head *
|
|
|
|
llgfr %r3,%r3 # size_t
|
|
|
|
jg compat_sys_set_robust_list
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_get_robust_list_wrapper)
|
2006-04-28 09:40:33 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # compat_uptr_t_t *
|
|
|
|
llgtr %r4,%r4 # compat_size_t *
|
|
|
|
jg compat_sys_get_robust_list
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_splice_wrapper)
|
2006-04-28 09:40:33 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # loff_t *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
llgtr %r5,%r5 # loff_t *
|
|
|
|
llgfr %r6,%r6 # size_t
|
|
|
|
llgf %r0,164(%r15) # unsigned int
|
|
|
|
stg %r0,160(%r15)
|
|
|
|
jg sys_splice
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_sync_file_range_wrapper)
|
2006-04-28 09:40:33 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
sllg %r3,%r3,32 # get high word of 64bit loff_t
|
|
|
|
or %r3,%r4 # get low word of 64bit loff_t
|
|
|
|
sllg %r4,%r5,32 # get high word of 64bit loff_t
|
|
|
|
or %r4,%r6 # get low word of 64bit loff_t
|
|
|
|
llgf %r5,164(%r15) # unsigned int
|
|
|
|
jg sys_sync_file_range
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_tee_wrapper)
|
2006-04-28 09:40:33 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
llgfr %r4,%r4 # size_t
|
|
|
|
llgfr %r5,%r5 # unsigned int
|
|
|
|
jg sys_tee
|
2006-05-16 00:44:05 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_vmsplice_wrapper)
|
2006-05-16 00:44:05 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # compat_iovec *
|
|
|
|
llgfr %r4,%r4 # unsigned int
|
|
|
|
llgfr %r5,%r5 # unsigned int
|
|
|
|
jg compat_sys_vmsplice
|
2006-10-05 02:02:09 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_getcpu_wrapper)
|
2006-10-05 02:02:09 +08:00
|
|
|
llgtr %r2,%r2 # unsigned *
|
|
|
|
llgtr %r3,%r3 # unsigned *
|
|
|
|
llgtr %r4,%r4 # struct getcpu_cache *
|
2006-10-27 18:39:10 +08:00
|
|
|
jg sys_getcpu
|
2007-03-19 20:18:56 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_epoll_pwait_wrapper)
|
2007-03-19 20:18:56 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # struct compat_epoll_event *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
lgfr %r5,%r5 # int
|
|
|
|
llgtr %r6,%r6 # compat_sigset_t *
|
|
|
|
llgf %r0,164(%r15) # compat_size_t
|
|
|
|
stg %r0,160(%r15)
|
|
|
|
jg compat_sys_epoll_pwait
|
2007-03-19 20:19:07 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_utimes_wrapper)
|
2007-03-19 20:19:07 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # struct compat_timeval *
|
|
|
|
jg compat_sys_utimes
|
2007-05-21 17:25:20 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_utimensat_wrapper)
|
2007-05-21 17:25:20 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgtr %r3,%r3 # char *
|
|
|
|
llgtr %r4,%r4 # struct compat_timespec *
|
|
|
|
lgfr %r5,%r5 # int
|
|
|
|
jg compat_sys_utimensat
|
2007-05-21 17:25:21 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_signalfd_wrapper)
|
2007-05-21 17:25:21 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # compat_sigset_t *
|
|
|
|
llgfr %r4,%r4 # compat_size_t
|
|
|
|
jg compat_sys_signalfd
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_eventfd_wrapper)
|
2007-05-21 17:25:21 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
jg sys_eventfd
|
2007-07-27 18:29:16 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_fallocate_wrapper)
|
2007-07-27 18:29:16 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
sllg %r4,%r4,32 # get high word of 64bit loff_t
|
|
|
|
lr %r4,%r5 # get low word of 64bit loff_t
|
|
|
|
sllg %r5,%r6,32 # get high word of 64bit loff_t
|
|
|
|
l %r5,164(%r15) # get low word of 64bit loff_t
|
|
|
|
jg sys_fallocate
|
2008-02-10 01:24:28 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_timerfd_create_wrapper)
|
2008-02-10 01:24:28 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_timerfd_create
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_timerfd_settime_wrapper)
|
2008-02-10 01:24:28 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
llgtr %r4,%r4 # struct compat_itimerspec *
|
|
|
|
llgtr %r5,%r5 # struct compat_itimerspec *
|
|
|
|
jg compat_sys_timerfd_settime
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_timerfd_gettime_wrapper)
|
2008-02-10 01:24:28 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # struct compat_itimerspec *
|
|
|
|
jg compat_sys_timerfd_gettime
|
2008-08-01 22:39:15 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_signalfd4_wrapper)
|
2008-08-01 22:39:15 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # compat_sigset_t *
|
|
|
|
llgfr %r4,%r4 # compat_size_t
|
|
|
|
lgfr %r5,%r5 # int
|
|
|
|
jg compat_sys_signalfd4
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_eventfd2_wrapper)
|
2008-08-01 22:39:15 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_eventfd2
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_inotify_init1_wrapper)
|
2008-08-01 22:39:15 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
jg sys_inotify_init1
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_pipe2_wrapper)
|
2008-08-01 22:39:15 +08:00
|
|
|
llgtr %r2,%r2 # u32 *
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_pipe2 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_dup3_wrapper)
|
2008-08-01 22:39:15 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgfr %r3,%r3 # unsigned int
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
jg sys_dup3 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_epoll_create1_wrapper)
|
2008-08-01 22:39:15 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
jg sys_epoll_create1 # branch to system call
|
2009-01-23 23:40:27 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_readahead_wrapper)
|
2009-01-23 23:40:27 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgfr %r3,%r3 # u32
|
|
|
|
llgfr %r4,%r4 # u32
|
|
|
|
lgfr %r5,%r5 # s32
|
|
|
|
jg sys32_readahead # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_sendfile64_wrapper)
|
2009-01-23 23:40:27 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
llgtr %r4,%r4 # compat_loff_t *
|
|
|
|
lgfr %r5,%r5 # s32
|
|
|
|
jg sys32_sendfile64 # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_tkill_wrapper)
|
2009-01-23 23:40:27 +08:00
|
|
|
lgfr %r2,%r2 # pid_t
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_tkill # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_tgkill_wrapper)
|
2009-01-23 23:40:27 +08:00
|
|
|
lgfr %r2,%r2 # pid_t
|
|
|
|
lgfr %r3,%r3 # pid_t
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
jg sys_tgkill # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_keyctl_wrapper)
|
2009-01-23 23:40:27 +08:00
|
|
|
llgfr %r2,%r2 # u32
|
|
|
|
llgfr %r3,%r3 # u32
|
|
|
|
llgfr %r4,%r4 # u32
|
|
|
|
llgfr %r5,%r5 # u32
|
|
|
|
llgfr %r6,%r6 # u32
|
|
|
|
jg compat_sys_keyctl # branch to system call
|
2009-04-14 21:36:17 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_preadv_wrapper)
|
2009-04-14 21:36:17 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
|
|
|
llgtr %r3,%r3 # compat_iovec *
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
llgfr %r5,%r5 # u32
|
|
|
|
llgfr %r6,%r6 # u32
|
|
|
|
jg compat_sys_preadv # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_pwritev_wrapper)
|
2009-04-14 21:36:17 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
|
|
|
llgtr %r3,%r3 # compat_iovec *
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
llgfr %r5,%r5 # u32
|
|
|
|
llgfr %r6,%r6 # u32
|
|
|
|
jg compat_sys_pwritev # branch to system call
|
2009-06-12 16:26:48 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_rt_tgsigqueueinfo_wrapper)
|
2009-06-12 16:26:48 +08:00
|
|
|
lgfr %r2,%r2 # compat_pid_t
|
|
|
|
lgfr %r3,%r3 # compat_pid_t
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
llgtr %r5,%r5 # struct compat_siginfo *
|
|
|
|
jg compat_sys_rt_tgsigqueueinfo_wrapper # branch to system call
|
2009-06-12 16:26:49 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_perf_event_open_wrapper)
|
perf: Do the big rename: Performance Counters -> Performance Events
Bye-bye Performance Counters, welcome Performance Events!
In the past few months the perfcounters subsystem has grown out its
initial role of counting hardware events, and has become (and is
becoming) a much broader generic event enumeration, reporting, logging,
monitoring, analysis facility.
Naming its core object 'perf_counter' and naming the subsystem
'perfcounters' has become more and more of a misnomer. With pending
code like hw-breakpoints support the 'counter' name is less and
less appropriate.
All in one, we've decided to rename the subsystem to 'performance
events' and to propagate this rename through all fields, variables
and API names. (in an ABI compatible fashion)
The word 'event' is also a bit shorter than 'counter' - which makes
it slightly more convenient to write/handle as well.
Thanks goes to Stephane Eranian who first observed this misnomer and
suggested a rename.
User-space tooling and ABI compatibility is not affected - this patch
should be function-invariant. (Also, defconfigs were not touched to
keep the size down.)
This patch has been generated via the following script:
FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')
sed -i \
-e 's/PERF_EVENT_/PERF_RECORD_/g' \
-e 's/PERF_COUNTER/PERF_EVENT/g' \
-e 's/perf_counter/perf_event/g' \
-e 's/nb_counters/nb_events/g' \
-e 's/swcounter/swevent/g' \
-e 's/tpcounter_event/tp_event/g' \
$FILES
for N in $(find . -name perf_counter.[ch]); do
M=$(echo $N | sed 's/perf_counter/perf_event/g')
mv $N $M
done
FILES=$(find . -name perf_event.*)
sed -i \
-e 's/COUNTER_MASK/REG_MASK/g' \
-e 's/COUNTER/EVENT/g' \
-e 's/\<event\>/event_id/g' \
-e 's/counter/event/g' \
-e 's/Counter/Event/g' \
$FILES
... to keep it as correct as possible. This script can also be
used by anyone who has pending perfcounters patches - it converts
a Linux kernel tree over to the new naming. We tried to time this
change to the point in time where the amount of pending patches
is the smallest: the end of the merge window.
Namespace clashes were fixed up in a preparatory patch - and some
stylistic fallout will be fixed up in a subsequent patch.
( NOTE: 'counters' are still the proper terminology when we deal
with hardware registers - and these sed scripts are a bit
over-eager in renaming them. I've undone some of that, but
in case there's something left where 'counter' would be
better than 'event' we can undo that on an individual basis
instead of touching an otherwise nicely automated patch. )
Suggested-by: Stephane Eranian <eranian@google.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Paul Mackerras <paulus@samba.org>
Reviewed-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: <linux-arch@vger.kernel.org>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-09-21 18:02:48 +08:00
|
|
|
llgtr %r2,%r2 # const struct perf_event_attr *
|
2009-06-12 16:26:49 +08:00
|
|
|
lgfr %r3,%r3 # pid_t
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
lgfr %r5,%r5 # int
|
|
|
|
llgfr %r6,%r6 # unsigned long
|
perf: Do the big rename: Performance Counters -> Performance Events
Bye-bye Performance Counters, welcome Performance Events!
In the past few months the perfcounters subsystem has grown out its
initial role of counting hardware events, and has become (and is
becoming) a much broader generic event enumeration, reporting, logging,
monitoring, analysis facility.
Naming its core object 'perf_counter' and naming the subsystem
'perfcounters' has become more and more of a misnomer. With pending
code like hw-breakpoints support the 'counter' name is less and
less appropriate.
All in one, we've decided to rename the subsystem to 'performance
events' and to propagate this rename through all fields, variables
and API names. (in an ABI compatible fashion)
The word 'event' is also a bit shorter than 'counter' - which makes
it slightly more convenient to write/handle as well.
Thanks goes to Stephane Eranian who first observed this misnomer and
suggested a rename.
User-space tooling and ABI compatibility is not affected - this patch
should be function-invariant. (Also, defconfigs were not touched to
keep the size down.)
This patch has been generated via the following script:
FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')
sed -i \
-e 's/PERF_EVENT_/PERF_RECORD_/g' \
-e 's/PERF_COUNTER/PERF_EVENT/g' \
-e 's/perf_counter/perf_event/g' \
-e 's/nb_counters/nb_events/g' \
-e 's/swcounter/swevent/g' \
-e 's/tpcounter_event/tp_event/g' \
$FILES
for N in $(find . -name perf_counter.[ch]); do
M=$(echo $N | sed 's/perf_counter/perf_event/g')
mv $N $M
done
FILES=$(find . -name perf_event.*)
sed -i \
-e 's/COUNTER_MASK/REG_MASK/g' \
-e 's/COUNTER/EVENT/g' \
-e 's/\<event\>/event_id/g' \
-e 's/counter/event/g' \
-e 's/Counter/Event/g' \
$FILES
... to keep it as correct as possible. This script can also be
used by anyone who has pending perfcounters patches - it converts
a Linux kernel tree over to the new naming. We tried to time this
change to the point in time where the amount of pending patches
is the smallest: the end of the merge window.
Namespace clashes were fixed up in a preparatory patch - and some
stylistic fallout will be fixed up in a subsequent patch.
( NOTE: 'counters' are still the proper terminology when we deal
with hardware registers - and these sed scripts are a bit
over-eager in renaming them. I've undone some of that, but
in case there's something left where 'counter' would be
better than 'event' we can undo that on an individual basis
instead of touching an otherwise nicely automated patch. )
Suggested-by: Stephane Eranian <eranian@google.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Paul Mackerras <paulus@samba.org>
Reviewed-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: <linux-arch@vger.kernel.org>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-09-21 18:02:48 +08:00
|
|
|
jg sys_perf_event_open # branch to system call
|
2009-09-23 04:58:41 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_clone_wrapper)
|
2009-09-23 04:58:41 +08:00
|
|
|
llgfr %r2,%r2 # unsigned long
|
|
|
|
llgfr %r3,%r3 # unsigned long
|
|
|
|
llgtr %r4,%r4 # int *
|
|
|
|
llgtr %r5,%r5 # int *
|
|
|
|
jg sys_clone # branch to system call
|
2009-09-23 04:58:42 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys32_execve_wrapper)
|
2009-09-23 04:58:42 +08:00
|
|
|
llgtr %r2,%r2 # char *
|
|
|
|
llgtr %r3,%r3 # compat_uptr_t *
|
|
|
|
llgtr %r4,%r4 # compat_uptr_t *
|
|
|
|
jg sys32_execve # branch to system call
|
2010-08-13 16:06:41 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_fanotify_init_wrapper)
|
2010-08-13 16:06:41 +08:00
|
|
|
llgfr %r2,%r2 # unsigned int
|
|
|
|
llgfr %r3,%r3 # unsigned int
|
|
|
|
jg sys_fanotify_init # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_fanotify_mark_wrapper)
|
2010-08-13 16:06:41 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgfr %r3,%r3 # unsigned int
|
|
|
|
sllg %r4,%r4,32 # get high word of 64bit mask
|
|
|
|
lr %r4,%r5 # get low word of 64bit mask
|
|
|
|
llgfr %r5,%r6 # unsigned int
|
|
|
|
llgt %r6,164(%r15) # char *
|
|
|
|
jg sys_fanotify_mark # branch to system call
|
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_prlimit64_wrapper)
|
2010-08-13 16:06:41 +08:00
|
|
|
lgfr %r2,%r2 # pid_t
|
|
|
|
llgfr %r3,%r3 # unsigned int
|
|
|
|
llgtr %r4,%r4 # const struct rlimit64 __user *
|
|
|
|
llgtr %r5,%r5 # struct rlimit64 __user *
|
|
|
|
jg sys_prlimit64 # branch to system call
|
2011-03-23 17:15:55 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_name_to_handle_at_wrapper)
|
2011-03-23 17:15:55 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # const char __user *
|
|
|
|
llgtr %r4,%r4 # struct file_handle __user *
|
|
|
|
llgtr %r5,%r5 # int __user *
|
|
|
|
lgfr %r6,%r6 # int
|
|
|
|
jg sys_name_to_handle_at
|
2011-03-23 17:15:56 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_open_by_handle_at_wrapper)
|
2011-03-23 17:15:56 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
llgtr %r3,%r3 # struct file_handle __user *
|
|
|
|
lgfr %r4,%r4 # int
|
|
|
|
jg compat_sys_open_by_handle_at
|
2011-03-23 17:15:57 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(compat_sys_clock_adjtime_wrapper)
|
2011-03-23 17:15:57 +08:00
|
|
|
lgfr %r2,%r2 # clockid_t (int)
|
|
|
|
llgtr %r3,%r3 # struct compat_timex __user *
|
|
|
|
jg compat_sys_clock_adjtime
|
2011-03-23 17:15:58 +08:00
|
|
|
|
2011-07-24 16:48:19 +08:00
|
|
|
ENTRY(sys_syncfs_wrapper)
|
2011-03-23 17:15:58 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
jg sys_syncfs
|
2011-05-28 10:28:27 +08:00
|
|
|
|
2011-10-30 22:16:09 +08:00
|
|
|
ENTRY(sys_setns_wrapper)
|
2011-05-28 10:28:27 +08:00
|
|
|
lgfr %r2,%r2 # int
|
|
|
|
lgfr %r3,%r3 # int
|
|
|
|
jg sys_setns
|
2011-11-14 18:18:59 +08:00
|
|
|
|
|
|
|
ENTRY(compat_sys_process_vm_readv_wrapper)
|
|
|
|
lgfr %r2,%r2 # compat_pid_t
|
|
|
|
llgtr %r3,%r3 # struct compat_iovec __user *
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
llgtr %r5,%r5 # struct compat_iovec __user *
|
|
|
|
llgfr %r6,%r6 # unsigned long
|
|
|
|
llgf %r0,164(%r15) # unsigned long
|
|
|
|
stg %r0,160(%r15)
|
|
|
|
jg sys_process_vm_readv
|
|
|
|
|
|
|
|
ENTRY(compat_sys_process_vm_writev_wrapper)
|
|
|
|
lgfr %r2,%r2 # compat_pid_t
|
|
|
|
llgtr %r3,%r3 # struct compat_iovec __user *
|
|
|
|
llgfr %r4,%r4 # unsigned long
|
|
|
|
llgtr %r5,%r5 # struct compat_iovec __user *
|
|
|
|
llgfr %r6,%r6 # unsigned long
|
|
|
|
llgf %r0,164(%r15) # unsigned long
|
|
|
|
stg %r0,160(%r15)
|
|
|
|
jg sys_process_vm_writev
|