添加系统调用代码简单,参考http://blog.csdn.net/chenxiancool/article/details/7638787即可
1. 在kernel/sys.c的最后添加如下代码
asmlinkage int sys_addone(int numdata)
{
return numdata + 1;
}
2. 在arch/x86/syscalls/syscall_64.tbl中添加代码
313 64 addone sys_addone
3.include/linux/syscalls.h中的#endif之前添加代码
asmlinkage int sys_addone(int numdata);
4. 编译内核
此处简略,可以看之前的blog
5. 测试代码
#include "stdio.h"
#include <unistd.h>
#include <linux/unistd.h>
#define __NR_addone 313
int main(){
int i,j;
for(i=0;i < 10;++i){
j = syscall(__NR_addone,i);
printf("%d plus one is %d \n", i, j);
}
return 0;
}