分类: LINUX
2013-12-26 17:23:22
一、如何给9x25或者9x15(arm-linux)添加属于自己的系统调用:
1.牵扯到修改的几个文件:
kernel/arch/arm/include/asm/unistd.h :为每个系统调用指定一个固定的值。
kernel/arch/arm/kernel/calls.S:系统调用的声明。
2.添加自己的系统调用:
给1中的unistd.h中的最后添加一行:#define __NR_my_add (__NR_SYSCALL_BASE+378) 其中378是此文件中未涉及到的数字
函数的声明:给calls.S最后添加一行:CALL(sys_my_add)
函数的定义:在arch/arm/kernel/目录下新建文件test.c
并修改当前目录下的makefile,加入如下一句话:obj-o += test.o
3.调用方式:
4.要是想直接通过my_add调用可以自己再封装一层。
下篇博客将对这个知识点做更深入的研究。