linux 3.6.0添加系統調用代碼

添加系統調用代碼簡單,參考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;
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章