歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix基礎知識 >> kernel學習之動手添加系統調用(ARM)

kernel學習之動手添加系統調用(ARM)

日期:2017/3/3 14:55:12   编辑:Unix基礎知識

我是在linux2.6.38中添加的系統調用,在mini6410開發板上測試的。

添加系統調用:

向內核中添加系統調用,需要執行三個步驟:

1、添加新的內核函數

2、更新unistd.h

3、更新系統調用表

1、 在kernel/sys.c中添加函數

asmlinkageint sys_add(int a,int b)  
      
{  
      
    return a+b;  
      
}

2、 在arch/arm/include/asm/unistd.h

添加:

#define_NR_add (_NR_SYSCALL+BASE + 370)

3、在arch/arm/kernel/calls.S中添加CALL(sys_add)以指向新的系統調用

4、編寫應用程序測試

#include <linux/unistd.h>  
#include <stdio.h>  
      
int main()  
{  
    int re = syscall(370,1,4) ;  
    printf("%d\n",re);  
    return 0;  
}

5、測試效果

查看本欄目更多精彩內容:http://www.bianceng.cn/OS/unix/

Copyright © Linux教程網 All Rights Reserved