Chinaunix首页 | 论坛 | 博客
  • 博客访问: 97782
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-22 11:14
文章分类

全部博文(13)

文章存档

2014年(3)

2013年(10)

我的朋友

分类: 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调用可以自己再封装一层。

下篇博客将对这个知识点做更深入的研究。

阅读(3940) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~