kernel学习之动手添加系统调用(ARM)
发布时间:2016-09-26 09:20:31 所属栏目:Unix 来源:站长网
导读:我是在linux2.6.38中添加的系统调用,在mini6410开发板上测试的。 添加系统调用: 向内核中添加系统调用,需要执行三个步骤: 1、添加新的内核函数 2、更新unistd.h 3、更新系统调用表 1、 在kernel/sys.c中添加函数 asmlinkageint sys_add(int a,int b) {
我是在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("%dn",re); return 0; } 5、测试效果 查看本栏目更多精彩内容:http://www.bianceng.cn/OS/unix/ (编辑:云计算网_宿迁站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |