📄 entry.s
字号:
sys_sigreturn_glue: la %r2,SP_PTREGS(%r15) # load pt_regs as parameter jg sys_sigreturn # branch to sys_sigreturn#ifdef CONFIG_S390_SUPPORTsys32_sigreturn_glue: la %r2,SP_PTREGS(%r15) # load pt_regs as parameter jg sys32_sigreturn # branch to sys32_sigreturn#endifsys_rt_sigreturn_glue: la %r2,SP_PTREGS(%r15) # load pt_regs as parameter jg sys_rt_sigreturn # branch to sys_sigreturn#ifdef CONFIG_S390_SUPPORTsys32_rt_sigreturn_glue: la %r2,SP_PTREGS(%r15) # load pt_regs as parameter jg sys32_rt_sigreturn # branch to sys32_sigreturn#endif## sigsuspend and rt_sigsuspend need pt_regs as an additional# parameter and they have to skip the store of %r2 into the# user register %r2 because the return value was set in # sigsuspend and rt_sigsuspend already and must not be overwritten!#sys_sigsuspend_glue: lgr %r5,%r4 # move mask back lgr %r4,%r3 # move history1 parameter lgr %r3,%r2 # move history0 parameter la %r2,SP_PTREGS(%r15) # load pt_regs as first parameter la %r14,6(%r14) # skip store of return value jg sys_sigsuspend # branch to sys_sigsuspend#ifdef CONFIG_S390_SUPPORTsys32_sigsuspend_glue: llgfr %r4,%r4 # unsigned long lgr %r5,%r4 # move mask back lgfr %r3,%r3 # int lgr %r4,%r3 # move history1 parameter lgfr %r2,%r2 # int lgr %r3,%r2 # move history0 parameter la %r2,SP_PTREGS(%r15) # load pt_regs as first parameter la %r14,6(%r14) # skip store of return value jg sys32_sigsuspend # branch to sys32_sigsuspend#endifsys_rt_sigsuspend_glue: lgr %r4,%r3 # move sigsetsize parameter lgr %r3,%r2 # move unewset parameter la %r2,SP_PTREGS(%r15) # load pt_regs as first parameter la %r14,6(%r14) # skip store of return value jg sys_rt_sigsuspend # branch to sys_rt_sigsuspend#ifdef CONFIG_S390_SUPPORTsys32_rt_sigsuspend_glue: llgfr %r3,%r3 # size_t lgr %r4,%r3 # move sigsetsize parameter llgtr %r2,%r2 # sigset_emu31_t * lgr %r3,%r2 # move unewset parameter la %r2,SP_PTREGS(%r15) # load pt_regs as first parameter la %r14,6(%r14) # skip store of return value jg sys32_rt_sigsuspend # branch to sys32_rt_sigsuspend#endifsys_sigaltstack_glue: la %r4,SP_PTREGS(%r15) # load pt_regs as parameter jg sys_sigaltstack # branch to sys_sigreturn#ifdef CONFIG_S390_SUPPORTsys32_sigaltstack_glue: la %r4,SP_PTREGS(%r15) # load pt_regs as parameter jg sys32_sigaltstack_wrapper # branch to sys_sigreturn#endif#ifdef CONFIG_S390_SUPPORT#define SYSCALL(esame,esa) esame,esa#else#define SYSCALL(esame,esa) esame,sys_ni_syscall#endif .globl sys_call_table sys_call_table: .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* 0 */ .long SYSCALL(sys_exit,sys32_exit_wrapper) .long SYSCALL(sys_fork_glue,sys_fork_glue) .long SYSCALL(sys_read,sys32_read_wrapper) .long SYSCALL(sys_write,sys32_write_wrapper) .long SYSCALL(sys_open,sys32_open_wrapper) /* 5 */ .long SYSCALL(sys_close,sys32_close_wrapper) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old waitpid syscall */ .long SYSCALL(sys_creat,sys32_creat_wrapper) .long SYSCALL(sys_link,sys32_link_wrapper) .long SYSCALL(sys_unlink,sys32_unlink_wrapper) /* 10 */ .long SYSCALL(sys_execve_glue,sys32_execve_glue) .long SYSCALL(sys_chdir,sys32_chdir_wrapper) .long SYSCALL(sys_ni_syscall,sys32_time_wrapper) /* old time syscall */ .long SYSCALL(sys_mknod,sys32_mknod_wrapper) .long SYSCALL(sys_chmod,sys32_chmod_wrapper) /* 15 */ .long SYSCALL(sys_ni_syscall,sys32_lchown16_wrapper) /* old lchown16 syscall*/ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old break syscall */ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old stat syscall */ .long SYSCALL(sys_lseek,sys32_lseek_wrapper) .long SYSCALL(sys_getpid,sys_getpid) /* 20 */ .long SYSCALL(sys_mount,sys32_mount_wrapper) .long SYSCALL(sys_oldumount,sys32_oldumount_wrapper) .long SYSCALL(sys_ni_syscall,sys32_setuid16_wrapper) /* old setuid16 syscall*/ .long SYSCALL(sys_ni_syscall,sys32_getuid16) /* old getuid16 syscall*/ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* 25 old stime syscall */ .long SYSCALL(sys_ptrace,sys32_ptrace_wrapper) .long SYSCALL(sys_alarm,sys32_alarm_wrapper) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old fstat syscall */ .long SYSCALL(sys_pause,sys32_pause) .long SYSCALL(sys_utime,sys32_utime_wrapper) /* 30 */ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old stty syscall */ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old gtty syscall */ .long SYSCALL(sys_access,sys32_access_wrapper) .long SYSCALL(sys_nice,sys32_nice_wrapper) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old ftime syscall */ .long SYSCALL(sys_sync,sys_sync) .long SYSCALL(sys_kill,sys32_kill_wrapper) .long SYSCALL(sys_rename,sys32_rename_wrapper) .long SYSCALL(sys_mkdir,sys32_mkdir_wrapper) .long SYSCALL(sys_rmdir,sys32_rmdir_wrapper) /* 40 */ .long SYSCALL(sys_dup,sys32_dup_wrapper) .long SYSCALL(sys_pipe,sys32_pipe_wrapper) .long SYSCALL(sys_times,sys32_times_wrapper) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old prof syscall */ .long SYSCALL(sys_brk,sys32_brk_wrapper) /* 45 */ .long SYSCALL(sys_ni_syscall,sys32_setgid16) /* old setgid16 syscall*/ .long SYSCALL(sys_ni_syscall,sys32_getgid16) /* old getgid16 syscall*/ .long SYSCALL(sys_signal,sys32_signal_wrapper) .long SYSCALL(sys_ni_syscall,sys32_geteuid16) /* old geteuid16 syscall */ .long SYSCALL(sys_ni_syscall,sys32_getegid16) /* old getegid16 syscall */ .long SYSCALL(sys_acct,sys32_acct_wrapper) .long SYSCALL(sys_umount,sys32_umount_wrapper) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old lock syscall */ .long SYSCALL(sys_ioctl,sys32_ioctl_wrapper) .long SYSCALL(sys_fcntl,sys32_fcntl_wrapper) /* 55 */ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* intel mpx syscall */ .long SYSCALL(sys_setpgid,sys32_setpgid_wrapper) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old ulimit syscall */ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old uname syscall */ .long SYSCALL(sys_umask,sys32_umask_wrapper) /* 60 */ .long SYSCALL(sys_chroot,sys32_chroot_wrapper) .long SYSCALL(sys_ustat,sys32_ustat_wrapper) .long SYSCALL(sys_dup2,sys32_dup2_wrapper) .long SYSCALL(sys_getppid,sys_getppid) .long SYSCALL(sys_getpgrp,sys_getpgrp) /* 65 */ .long SYSCALL(sys_setsid,sys_setsid) .long SYSCALL(sys_sigaction,sys32_sigaction_wrapper) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old sgetmask syscall*/ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old ssetmask syscall*/ .long SYSCALL(sys_ni_syscall,sys32_setreuid16_wrapper) /* old setreuid16 syscall */ .long SYSCALL(sys_ni_syscall,sys32_setregid16_wrapper) /* old setregid16 syscall */ .long SYSCALL(sys_sigsuspend_glue,sys32_sigsuspend_glue) .long SYSCALL(sys_sigpending,sys32_sigpending_wrapper) .long SYSCALL(sys_sethostname,sys32_sethostname_wrapper) .long SYSCALL(sys_setrlimit,sys32_setrlimit_wrapper) /* 75 */ .long SYSCALL(sys_getrlimit,sys32_old_getrlimit_wrapper) .long SYSCALL(sys_getrusage,sys32_getrusage_wrapper) .long SYSCALL(sys_gettimeofday,sys32_gettimeofday_wrapper) .long SYSCALL(sys_settimeofday,sys32_settimeofday_wrapper) .long SYSCALL(sys_ni_syscall,sys32_getgroups16_wrapper) /* old getgroups16 syscall */ .long SYSCALL(sys_ni_syscall,sys32_setgroups16_wrapper) /* old setgroups16 syscall */ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old select syscall */ .long SYSCALL(sys_symlink,sys32_symlink_wrapper) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old lstat syscall */ .long SYSCALL(sys_readlink,sys32_readlink_wrapper) /* 85 */ .long SYSCALL(sys_uselib,sys32_uselib_wrapper) .long SYSCALL(sys_swapon,sys32_swapon_wrapper) .long SYSCALL(sys_reboot,sys32_reboot_wrapper) .long SYSCALL(sys_ni_syscall,old32_readdir_wrapper) /* old readdir syscall */ .long SYSCALL(old_mmap,old32_mmap_wrapper) /* 90 */ .long SYSCALL(sys_munmap,sys32_munmap_wrapper) .long SYSCALL(sys_truncate,sys32_truncate_wrapper) .long SYSCALL(sys_ftruncate,sys32_ftruncate_wrapper) .long SYSCALL(sys_fchmod,sys32_fchmod_wrapper) .long SYSCALL(sys_ni_syscall,sys32_fchown16_wrapper) /* old fchown16 syscall*/ .long SYSCALL(sys_getpriority,sys32_getpriority_wrapper) .long SYSCALL(sys_setpriority,sys32_setpriority_wrapper) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old profil syscall */ .long SYSCALL(sys_statfs,sys32_statfs_wrapper) .long SYSCALL(sys_fstatfs,sys32_fstatfs_wrapper) /* 100 */ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) .long SYSCALL(sys_socketcall,sys32_socketcall_wrapper) .long SYSCALL(sys_syslog,sys32_syslog_wrapper) .long SYSCALL(sys_setitimer,sys32_setitimer_wrapper) .long SYSCALL(sys_getitimer,sys32_getitimer_wrapper) /* 105 */ .long SYSCALL(sys_newstat,sys32_newstat_wrapper) .long SYSCALL(sys_newlstat,sys32_newlstat_wrapper) .long SYSCALL(sys_newfstat,sys32_newfstat_wrapper) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old uname syscall */ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* iopl for i386 */ .long SYSCALL(sys_vhangup,sys_vhangup) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* old "idle" system call */ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* vm86old for i386 */ .long SYSCALL(sys_wait4,sys32_wait4_wrapper) .long SYSCALL(sys_swapoff,sys32_swapoff_wrapper) /* 115 */ .long SYSCALL(sys_sysinfo,sys32_sysinfo_wrapper) .long SYSCALL(sys_ipc,sys32_ipc_wrapper) .long SYSCALL(sys_fsync,sys32_fsync_wrapper) .long SYSCALL(sys_sigreturn_glue,sys32_sigreturn_glue) .long SYSCALL(sys_clone_glue,sys_clone_glue) /* 120 */ .long SYSCALL(sys_setdomainname,sys32_setdomainname_wrapper) .long SYSCALL(sys_newuname,sys32_newuname_wrapper) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* modify_ldt for i386 */ .long SYSCALL(sys_adjtimex,sys32_adjtimex_wrapper) .long SYSCALL(sys_mprotect,sys32_mprotect_wrapper) /* 125 */ .long SYSCALL(sys_sigprocmask,sys32_sigprocmask_wrapper) .long SYSCALL(sys_create_module,sys32_create_module_wrapper) .long SYSCALL(sys_init_module,sys32_init_module_wrapper) .long SYSCALL(sys_delete_module,sys32_delete_module_wrapper) .long SYSCALL(sys_get_kernel_syms,sys32_get_kernel_syms_wrapper) /* 130 */ .long SYSCALL(sys_quotactl,sys32_quotactl_wrapper) .long SYSCALL(sys_getpgid,sys32_getpgid_wrapper) .long SYSCALL(sys_fchdir,sys32_fchdir_wrapper) .long SYSCALL(sys_bdflush,sys32_bdflush_wrapper) .long SYSCALL(sys_sysfs,sys32_sysfs_wrapper) /* 135 */ .long SYSCALL(sys_personality,sys32_personality_wrapper) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* for afs_syscall */ .long SYSCALL(sys_ni_syscall,sys32_setfsuid16_wrapper) /* old setfsuid16 syscall */ .long SYSCALL(sys_ni_syscall,sys32_setfsgid16_wrapper) /* old setfsgid16 syscall */ .long SYSCALL(sys_llseek,sys32_llseek_wrapper) /* 140 */ .long SYSCALL(sys_getdents,sys32_getdents_wrapper) .long SYSCALL(sys_select,sys32_select_wrapper) .long SYSCALL(sys_flock,sys32_flock_wrapper) .long SYSCALL(sys_msync,sys32_msync_wrapper) .long SYSCALL(sys_readv,sys32_readv_wrapper) /* 145 */ .long SYSCALL(sys_writev,sys32_writev_wrapper) .long SYSCALL(sys_getsid,sys32_getsid_wrapper) .long SYSCALL(sys_fdatasync,sys32_fdatasync_wrapper) .long SYSCALL(sys_sysctl,sys_ni_syscall) .long SYSCALL(sys_mlock,sys32_mlock_wrapper) /* 150 */ .long SYSCALL(sys_munlock,sys32_munlock_wrapper) .long SYSCALL(sys_mlockall,sys32_mlockall_wrapper) .long SYSCALL(sys_munlockall,sys_munlockall) .long SYSCALL(sys_sched_setparam,sys32_sched_setparam_wrapper) .long SYSCALL(sys_sched_getparam,sys32_sched_getparam_wrapper) /* 155 */ .long SYSCALL(sys_sched_setscheduler,sys32_sched_setscheduler_wrapper) .long SYSCALL(sys_sched_getscheduler,sys32_sched_getscheduler_wrapper) .long SYSCALL(sys_sched_yield,sys_sched_yield) .long SYSCALL(sys_sched_get_priority_max,sys32_sched_get_priority_max_wrapper) .long SYSCALL(sys_sched_get_priority_min,sys32_sched_get_priority_min_wrapper) .long SYSCALL(sys_sched_rr_get_interval,sys32_sched_rr_get_interval_wrapper) .long SYSCALL(sys_nanosleep,sys32_nanosleep_wrapper) .long SYSCALL(sys_mremap,sys32_mremap_wrapper) .long SYSCALL(sys_ni_syscall,sys32_setresuid16_wrapper) /* old setresuid16 syscall */ .long SYSCALL(sys_ni_syscall,sys32_getresuid16_wrapper) /* old getresuid16 syscall */ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* for vm86 */ .long SYSCALL(sys_query_module,sys32_query_module_wrapper) .long SYSCALL(sys_poll,sys32_poll_wrapper) .long SYSCALL(sys_nfsservctl,sys32_nfsservctl_wrapper) .long SYSCALL(sys_ni_syscall,sys32_setresgid16_wrapper) /* old setresgid16 syscall */ .long SYSCALL(sys_ni_syscall,sys32_getresgid16_wrapper) /* old getresgid16 syscall */ .long SYSCALL(sys_prctl,sys32_prctl_wrapper) .long SYSCALL(sys_rt_sigreturn_glue,sys32_rt_sigreturn_glue) .long SYSCALL(sys_rt_sigaction,sys32_rt_sigaction_wrapper) .long SYSCALL(sys_rt_sigprocmask,sys32_rt_sigprocmask_wrapper) /* 175 */ .long SYSCALL(sys_rt_sigpending,sys32_rt_sigpending_wrapper) .long SYSCALL(sys_rt_sigtimedwait,sys32_rt_sigtimedwait_wrapper) .long SYSCALL(sys_rt_sigqueueinfo,sys32_rt_sigqueueinfo_wrapper) .long SYSCALL(sys_rt_sigsuspend_glue,sys32_rt_sigsuspend_glue) .long SYSCALL(sys_pread,sys32_pread_wrapper) /* 180 */ .long SYSCALL(sys_pwrite,sys32_pwrite_wrapper) .long SYSCALL(sys_ni_syscall,sys32_chown16_wrapper) /* old chown16 syscall */ .long SYSCALL(sys_getcwd,sys32_getcwd_wrapper) .long SYSCALL(sys_capget,sys32_capget_wrapper) .long SYSCALL(sys_capset,sys32_capset_wrapper) /* 185 */ .long SYSCALL(sys_sigaltstack_glue,sys32_sigaltstack_glue) .long SYSCALL(sys_sendfile,sys32_sendfile_wrapper) .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* streams1 */ .long SYSCALL(sys_ni_syscall,sys_ni_syscall) /* streams2 */ .long SYSCALL(sys_vfork_glue,sys_vfork_glue) /* 190 */ .long SYSCALL(sys_getrlimit,sys32_old_getrlimit_wrapper) .long SYSCALL(sys_mmap2,sys32_mmap2_wrapper) .long SYSCALL(sys_ni_syscall,sys32_truncate64_wrapper) .long SYSCALL(sys_ni_syscall,sys32_ftruncate64_wrapper) .long SYSCALL(sys_ni_syscall,sys32_stat64_wrapper) /* 195 */ .long SYSCALL(sys_ni_syscall,sys32_lstat64_wrapper) .long SYSCALL(sys_ni_syscall,sys32_fstat64_wrapper) .long SYSCALL(sys_lchown,sys32_lchown_wrapper) .long SYSCALL(sys_getuid,sys_getuid) .long SYSCALL(sys_getgid,sys_getgid) /* 200 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -