1 .long sys_rt_tgsigqueueinfo/* 335 */
2 .long sys_perf_event_open
3 .long sys_mycall //这是我们自己添加的表项
好了,下面开始添加系统调用号。
2.2 添加自己的系统调用号
现在进入目录 arch/x86/include/asm,该目录下有三个文件unistd_32.h, unistd_64.h, unistd.h。由于我们编译的是32位内核,所以需要在unistd_32.h中添加系统调用号。
vim unistd_32.h,在最后添加代码:
1 #define __NR_perf_event_open336
2 #define __NR_mycall 337 //添加的
3 #ifdef __KERNEL__
4
若要在 kernel 里面新增加一个自己的 sys call,大致需要这么几个步骤: a,新增自己 sys call 的代码,并修改相应 makefile; b,修改相应头文件,分配自己的系统调用号; c,系统调用通过中断加查表的方式实现,欢迎分享,转载请注明来源:内存溢出
评论列表(0条)