当前位置: 技术问答>linux和unix
fedora 12下添加自定义系统调用的问题,请帮忙
来源: 互联网 发布时间:2016-09-05
本文导语: 在arch/x86/kernel/syscall_table_32.S中: .long sys_getpid /* 20 */ 是不是代表getpid的系统调用号是20? 在include/asm-generic/unistd.h中: #define __NR_getpid 172 __SYSCALL_(__NR_getpid, sys...
在arch/x86/kernel/syscall_table_32.S中:
.long sys_getpid /* 20 */
是不是代表getpid的系统调用号是20?
在include/asm-generic/unistd.h中:
#define __NR_getpid 172
__SYSCALL_(__NR_getpid, sys_getpid)
请问这两句的作用是什么,为什么变成了172?
在include/linux/syscalls.h中
asmlinkage long sys_getpid(void);
请问它的函数定义在哪儿?没找到。
在arch/x86/include/asm/unistd_32.h中:
#define __NR_getpid 20
请问这些文件中的相关语句是怎么对应起来的,各自的作用是什么,系统是怎么正确地找到对应的系统调用的?
.long sys_getpid /* 20 */
是不是代表getpid的系统调用号是20?
在include/asm-generic/unistd.h中:
#define __NR_getpid 172
__SYSCALL_(__NR_getpid, sys_getpid)
请问这两句的作用是什么,为什么变成了172?
在include/linux/syscalls.h中
asmlinkage long sys_getpid(void);
请问它的函数定义在哪儿?没找到。
在arch/x86/include/asm/unistd_32.h中:
#define __NR_getpid 20
请问这些文件中的相关语句是怎么对应起来的,各自的作用是什么,系统是怎么正确地找到对应的系统调用的?
|
参考:http://blog.csdn.net/wenxy1/archive/2009/11/20/4841661.aspx