⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 misc.s

📁 这个linux源代码是很全面的~基本完整了~使用c编译的~由于时间问题我没有亲自测试~但就算用来做参考资料也是非常好的
💻 S
📖 第 1 页 / 共 2 页
字号:
/* * Create a kernel thread *   kernel_thread(fn, arg, flags) */_GLOBAL(kernel_thread)	mr	r6,r3		/* function */	ori	r3,r5,CLONE_VM	/* flags */	li	r0,__NR_clone	sc	cmpi	0,r3,0		/* parent or child? */	bnelr			/* return if parent */	li	r0,0		/* clear out p->thread.regs */	std	r0,THREAD+PT_REGS(r13)	/* since we don't have user ctx */	li	r0,RUN_FLAG		/* Run light on */	std	r0,THREAD+THREAD_FLAGS(r13)	ld	r2,8(r6)	ld	r6,0(r6)	mtlr	r6              /* fn addr in lr */	mr	r3,r4	        /* load arg and call fn */	blrl	li	r0,__NR_exit	/* exit after child exits */        li	r3,0	sc#ifdef CONFIG_BINFMT_ELF32/* Why isn't this a) automatic, b) written in 'C'? */		.balign 8_GLOBAL(sys_call_table32)	.llong .sys_ni_syscall	/* 0  -  old "setup()" system call */	.llong .sys32_exit	.llong .sys32_fork	.llong .sys_read	.llong .sys_write	.llong .sys32_open		/* 5 */	.llong .sys_close	.llong .sys32_waitpid	.llong .sys32_creat	.llong .sys_link	.llong .sys_unlink      	/* 10 */	.llong .sys32_execve	.llong .sys_chdir	.llong .sys32_time	.llong .sys32_mknod	.llong .sys32_chmod		/* 15 */	.llong .sys_lchown	.llong .sys_ni_syscall			/* old break syscall holder */	.llong .sys32_stat	.llong .sys32_lseek	.llong .sys_getpid              /* 20 */	.llong .sys32_mount	.llong .sys_oldumount	.llong .sys_setuid	.llong .sys_getuid	.llong .ppc64_sys32_stime       /* 25 */	.llong .sys32_ptrace	.llong .sys_alarm	.llong .sys32_fstat	.llong .sys32_pause	.llong .sys32_utime		/* 30 */	.llong .sys_ni_syscall			/* old stty syscall holder */	.llong .sys_ni_syscall			/* old gtty syscall holder */	.llong .sys32_access	.llong .sys32_nice	.llong .sys_ni_syscall	/* 35 */	/* old ftime syscall holder */	.llong .sys_sync	.llong .sys32_kill	.llong .sys_rename	.llong .sys32_mkdir	.llong .sys_rmdir		/* 40 */	.llong .sys_dup	.llong .sys_pipe	.llong .sys32_times	.llong .sys_ni_syscall			/* old prof syscall holder */	.llong .sys_brk		/* 45 */	.llong .sys_setgid	.llong .sys_getgid	.llong .sys_signal	.llong .sys_geteuid	.llong .sys_getegid  	/* 50 */	.llong .sys_acct	.llong .sys32_umount			/* recycled never used phys() */	.llong .sys_ni_syscall			/* old lock syscall holder */	.llong .sys32_ioctl	.llong .sys32_fcntl		/* 55 */	.llong .sys_ni_syscall			/* old mpx syscall holder */	.llong .sys32_setpgid	.llong .sys_ni_syscall			/* old ulimit syscall holder */	.llong .sys_olduname	.llong .sys32_umask		/* 60 */	.llong .sys_chroot	.llong .sys_ustat	.llong .sys_dup2	.llong .sys_getppid	.llong .sys_getpgrp	        /* 65 */	.llong .sys_setsid	.llong .sys32_sigaction	.llong .sys_sgetmask	.llong .sys32_ssetmask	.llong .sys_setreuid	        /* 70 */	.llong .sys_setregid	.llong .sys_sigsuspend	.llong .sys32_sigpending	.llong .sys32_sethostname	.llong .sys32_setrlimit	        /* 75 */	.llong .sys32_old_getrlimit	.llong .sys32_getrusage	.llong .sys32_gettimeofday	.llong .sys32_settimeofday	.llong .sys32_getgroups	        /* 80 */	.llong .sys32_setgroups	.llong .ppc32_select	.llong .sys_symlink	.llong .sys32_lstat	.llong .sys32_readlink	        /* 85 */	.llong .sys_uselib	.llong .sys32_swapon	.llong .sys32_reboot	.llong .old32_readdir	.llong .sys32_mmap		/* 90 */	.llong .sys_munmap	.llong .sys_truncate	.llong .sys_ftruncate	.llong .sys_fchmod	.llong .sys_fchown              /* 95 */	.llong .sys32_getpriority	.llong .sys32_setpriority	.llong .sys_ni_syscall			/* old profil syscall holder */	.llong .sys32_statfs	.llong .sys32_fstatfs	/* 100 */	.llong .sys32_ioperm	.llong .sys32_socketcall	.llong .sys32_syslog	.llong .sys32_setitimer	.llong .sys32_getitimer	/* 105 */	.llong .sys32_newstat	.llong .sys32_newlstat	.llong .sys32_newfstat	.llong .sys_uname	.llong .sys32_iopl		/* 110 */	.llong .sys_vhangup	.llong .sys_ni_syscall	/* old 'idle' syscall */	.llong .sys32_vm86	.llong .sys32_wait4	.llong .sys_swapoff	/* 115 */	.llong .sys32_sysinfo	.llong .sys32_ipc	.llong .sys_fsync	.llong .ppc32_sigreturn	.llong .sys32_clone		/* 120 */	.llong .sys32_setdomainname	.llong .ppc64_newuname	.llong .sys32_modify_ldt	.llong .sys32_adjtimex	.llong .sys_mprotect	/* 125 */	.llong .sys32_sigprocmask	.llong .sys32_create_module	.llong .sys32_init_module	.llong .sys32_delete_module	.llong .sys32_get_kernel_syms	/* 130 */	.llong .sys32_quotactl	.llong .sys32_getpgid	.llong .sys_fchdir	.llong .sys32_bdflush	.llong .sys32_sysfs		/* 135 */	.llong .sys32_personality	.llong .sys_ni_syscall	        /* for afs_syscall */	.llong .sys_setfsuid	.llong .sys_setfsgid	.llong .sys_llseek	        /* 140 */        .llong .sys32_getdents	.llong .ppc32_select	.llong .sys_flock	.llong .sys32_msync	.llong .sys32_readv		/* 145 */	.llong .sys32_writev	.llong .sys32_getsid	.llong .sys_fdatasync	.llong .sys32_sysctl	.llong .sys_mlock		/* 150 */	.llong .sys_munlock	.llong .sys32_mlockall	.llong .sys_munlockall	.llong .sys32_sched_setparam	.llong .sys32_sched_getparam	/* 155 */	.llong .sys32_sched_setscheduler	.llong .sys32_sched_getscheduler	.llong .sys_sched_yield	.llong .sys32_sched_get_priority_max	.llong .sys32_sched_get_priority_min  /* 160 */	.llong .sys32_sched_rr_get_interval	.llong .sys32_nanosleep	.llong .sys32_mremap	.llong .sys_setresuid	.llong .sys_getresuid	        /* 165 */	.llong .sys32_query_module	.llong .sys_poll	.llong .sys32_nfsservctl	.llong .sys_setresgid	.llong .sys_getresgid	        /* 170 */	.llong .sys32_prctl	.llong .ppc32_rt_sigreturn	.llong .sys32_rt_sigaction	.llong .sys32_rt_sigprocmask	.llong .sys32_rt_sigpending     /* 175 */	.llong .sys32_rt_sigtimedwait	.llong .sys32_rt_sigqueueinfo	.llong .sys32_rt_sigsuspend	.llong .sys32_pread	.llong .sys32_pwrite	        /* 180 */	.llong .sys_chown	.llong .sys_getcwd	.llong .sys_capget	.llong .sys_capset	.llong .sys32_sigaltstack	        /* 185 */	.llong .sys32_sendfile	.llong .sys_ni_syscall		/* streams1 */	.llong .sys_ni_syscall		/* streams2 */	.llong .sys32_vfork	.llong .sys32_getrlimit	        /* 190 */	.llong .sys_ni_syscall		/* 191 */	/* Unused */	.llong .sys_ni_syscall		/* 192 - reserved - mmap2 */	.llong .sys32_truncate64	/* 193 - truncate64 */	.llong .sys32_ftruncate64	/* 194 - ftruncate64 */	.llong .sys_stat64      	/* 195 - stat64 */	.llong .sys_lstat64     	/* 196 - lstat64 */	.llong .sys_fstat64		/* 197 - fstat64 */	.llong .sys32_pciconfig_read  	/* 198 */	.llong .sys32_pciconfig_write  	/* 199 */	.llong .sys_pciconfig_iobase 	/* 200 */	.llong .sys_ni_syscall		/* 201 - reserved - MacOnLinux - new */	.llong .sys_getdents64		/* 202 */	.llong .sys_pivot_root		/* 203 */	.llong .sys32_fcntl64		/* 204 */	.llong .sys_madvise		/* 205 */	.llong .sys_mincore		/* 206 */	.llong .sys_gettid		/* 207 */#if 0 /* Reserved syscalls */	.llong .sys_tkill		/* 208 */	.llong .sys_setxattr	.llong .sys_lsetxattr	/* 210 */	.llong .sys_fsetxattr	.llong .sys_getxattr	.llong .sys_lgetxattr	.llong .sys_fgetxattr	.llong .sys_listxattr	/* 215 */	.llong .sys_llistxattr	.llong .sys_flistxattr	.llong .sys_removexattr	.llong .sys_lremovexattr	.llong .sys_fremovexattr	/* 220 */	.llong .sys_futex#endif	.llong .sys_perfmonctl   /* Put this here for now ... */	.rept NR_syscalls-222		.llong .sys_ni_syscall	.endr#endif	.balign 8_GLOBAL(sys_call_table)	.llong .sys_ni_syscall	/* 0  -  old "setup()" system call */	.llong .sys_exit	.llong .sys_fork	.llong .sys_read	.llong .sys_write	.llong .sys_open		/* 5 */	.llong .sys_close	.llong .sys_waitpid	.llong .sys_creat	.llong .sys_link	.llong .sys_unlink	/* 10 */	.llong .sys_execve	.llong .sys_chdir	.llong .sys64_time	.llong .sys_mknod	.llong .sys_chmod		/* 15 */	.llong .sys_lchown	.llong .sys_ni_syscall			/* old break syscall holder */	.llong .sys_stat	.llong .sys_lseek	.llong .sys_getpid	/* 20 */	.llong .sys_mount	.llong .sys_oldumount	.llong .sys_setuid	.llong .sys_getuid	.llong .ppc64_sys_stime		/* 25 */	.llong .sys_ptrace	.llong .sys_alarm	.llong .sys_fstat	.llong .sys_pause	.llong .sys_utime		/* 30 */	.llong .sys_ni_syscall			/* old stty syscall holder */	.llong .sys_ni_syscall			/* old gtty syscall holder */	.llong .sys_access	.llong .sys_nice	.llong .sys_ni_syscall	/* 35 */	/* old ftime syscall holder */	.llong .sys_sync	.llong .sys_kill	.llong .sys_rename	.llong .sys_mkdir	.llong .sys_rmdir		/* 40 */	.llong .sys_dup	.llong .sys_pipe	.llong .sys_times	.llong .sys_ni_syscall			/* old prof syscall holder */	.llong .sys_brk		/* 45 */	.llong .sys_setgid	.llong .sys_getgid	.llong .sys_signal	.llong .sys_geteuid	.llong .sys_getegid	/* 50 */	.llong .sys_acct	.llong .sys_umount			/* recycled never used phys() */	.llong .sys_ni_syscall			/* old lock syscall holder */	.llong .sys_ioctl	.llong .sys_fcntl		/* 55 */	.llong .sys_ni_syscall			/* old mpx syscall holder */	.llong .sys_setpgid	.llong .sys_ni_syscall			/* old ulimit syscall holder */	.llong .sys_olduname	.llong .sys_umask		/* 60 */	.llong .sys_chroot	.llong .sys_ustat	.llong .sys_dup2	.llong .sys_getppid	.llong .sys_getpgrp	/* 65 */	.llong .sys_setsid	.llong .sys_sigaction	.llong .sys_sgetmask	.llong .sys_ssetmask	.llong .sys_setreuid	/* 70 */	.llong .sys_setregid	.llong .sys_sigsuspend	.llong .sys_sigpending	.llong .sys_sethostname	.llong .sys_setrlimit	/* 75 */	.llong .sys_old_getrlimit	.llong .sys_getrusage	.llong .sys_gettimeofday	.llong .sys_settimeofday	.llong .sys_getgroups	/* 80 */	.llong .sys_setgroups	.llong .sys_select	.llong .sys_symlink	.llong .sys_lstat	.llong .sys_readlink	/* 85 */	.llong .sys_uselib	.llong .sys_swapon	.llong .sys_reboot	.llong .old_readdir	.llong .sys_mmap	/* 90 */	.llong .sys_munmap	.llong .sys_truncate	.llong .sys_ftruncate	.llong .sys_fchmod	.llong .sys_fchown	/* 95 */	.llong .sys_getpriority	.llong .sys_setpriority	.llong .sys_ni_syscall			/* old profil syscall holder */	.llong .sys_statfs	.llong .sys_fstatfs	/* 100 */	.llong .sys_ioperm	.llong .sys_socketcall	.llong .sys_syslog	.llong .sys_setitimer	.llong .sys_getitimer	/* 105 */	.llong .sys_newstat	.llong .sys_newlstat	.llong .sys_newfstat	.llong .sys_uname	.llong .sys_iopl		/* 110 */	.llong .sys_vhangup	.llong .sys_ni_syscall	/* old 'idle' syscall */	.llong .sys_vm86	.llong .sys_wait4	.llong .sys_swapoff	/* 115 */	.llong .sys_sysinfo	.llong .sys_ipc	.llong .sys_fsync	.llong .ppc64_sigreturn	.llong .sys_clone		/* 120 */	.llong .sys_setdomainname	.llong .ppc64_newuname	.llong .sys_modify_ldt	.llong .sys_adjtimex	.llong .sys_mprotect	/* 125 */	.llong .sys_sigprocmask	.llong .sys_create_module	.llong .sys_init_module	.llong .sys_delete_module	.llong .sys_get_kernel_syms	/* 130 */	.llong .sys_quotactl	.llong .sys_getpgid	.llong .sys_fchdir	.llong .sys_bdflush	.llong .sys_sysfs		/* 135 */	.llong .sys_personality	.llong .sys_ni_syscall	        /* for afs_syscall */	.llong .sys_setfsuid	.llong .sys_setfsgid	.llong .sys_llseek	        /* 140 */        .llong .sys_getdents	.llong .sys_select	.llong .sys_flock	.llong .sys_msync	.llong .sys_readv		/* 145 */	.llong .sys_writev	.llong .sys_getsid	.llong .sys_fdatasync	.llong .sys_sysctl	.llong .sys_mlock		/* 150 */	.llong .sys_munlock	.llong .sys_mlockall	.llong .sys_munlockall	.llong .sys_sched_setparam	.llong .sys_sched_getparam	/* 155 */	.llong .sys_sched_setscheduler	.llong .sys_sched_getscheduler	.llong .sys_sched_yield	.llong .sys_sched_get_priority_max	.llong .sys_sched_get_priority_min  /* 160 */	.llong .sys_sched_rr_get_interval	.llong .sys_nanosleep	.llong .sys_mremap	.llong .sys_setresuid	.llong .sys_getresuid	        /* 165 */	.llong .sys_query_module	.llong .sys_poll	.llong .sys_nfsservctl	.llong .sys_setresgid	.llong .sys_getresgid	        /* 170 */	.llong .sys_prctl	.llong .ppc64_rt_sigreturn	.llong .sys_rt_sigaction	.llong .sys_rt_sigprocmask		.llong .sys_rt_sigpending	/* 175 */	.llong .sys_rt_sigtimedwait	.llong .sys_rt_sigqueueinfo	.llong .sys_rt_sigsuspend	.llong .sys_pread	.llong .sys_pwrite	        /* 180 */	.llong .sys_chown	.llong .sys_getcwd	.llong .sys_capget	.llong .sys_capset	.llong .sys_sigaltstack	        /* 185 */	.llong .sys_sendfile	.llong .sys_ni_syscall		/* streams1 */	.llong .sys_ni_syscall		/* streams2 */	.llong .sys_vfork	.llong .sys_getrlimit	        /* 190 */	.llong .sys_ni_syscall		/* 191 */	/* Unused */	.llong .sys_ni_syscall		/* 192 - reserved - mmap2 */	.llong .sys_ni_syscall		/* 193 - reserved - truncate64 */	.llong .sys_ni_syscall		/* 194 - reserved - ftruncate64 */	.llong .sys_ni_syscall		/* 195 - reserved - stat64 */	.llong .sys_ni_syscall		/* 196 - reserved - lstat64 */	.llong .sys_ni_syscall		/* 197 - reserved - fstat64 */	.llong .sys_pciconfig_read	/* 198 */	.llong .sys_pciconfig_write 	/* 199 */	.llong .sys_pciconfig_iobase 	/* 200 */	.llong .sys_ni_syscall		/* 201 - reserved - MacOnLinux - new */	.llong .sys_getdents64		/* 202 */	.llong .sys_pivot_root		/* 203 */	.llong .sys_ni_syscall		/* 204 */	.llong .sys_madvise		/* 205 */	.llong .sys_mincore		/* 206 */	.llong .sys_gettid		/* 207 */#if 0 /* Reserved syscalls */	.llong .sys_tkill		/* 208 */	.llong .sys_setxattr	.llong .sys_lsetxattr	/* 210 */	.llong .sys_fsetxattr	.llong .sys_getxattr	.llong .sys_lgetxattr	.llong .sys_fgetxattr	.llong .sys_listxattr	/* 215 */	.llong .sys_llistxattr	.llong .sys_flistxattr	.llong .sys_removexattr	.llong .sys_lremovexattr	.llong .sys_fremovexattr	/* 220 */	.llong .sys_futex#endif	.llong .sys_perfmonctl   /* Put this here for now ... */	.rept NR_syscalls-222	.llong .sys_ni_syscall	.endr

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -