免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1822 | 回复: 3
打印 上一主题 下一主题

关于内核添加系统调用的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-02 09:51 |只看该作者 |倒序浏览
本帖最后由 cuic139 于 2012-02-02 10:18 编辑

请教:

      想添加一个自己的系统调用,查了网上的资料都是说在unistd_32.h中加一个系统调用号、syscall_table_32.S中 添加:.long sys_mycall、
      
      kernel/sys.c文件中加一个实现函数就可以了,比较奇怪的是sys.c文件中似乎没有系统调用函数的实现,比如sys_bind函数实现,我在跑起来的内核里

      可以看到它的实现,但是在内核源码中搜不到, 只是在syscalls.h中有一个声明:asmlinkage long sys_bind(int, struct sockaddr __user *, int);

      我觉得其他的实现函数的位置应该就是我的实现函数添加的位置, 但是没有找到,所以问一下大家知道实现在哪里吗

论坛徽章:
0
2 [报告]
发表于 2012-02-02 10:31 |只看该作者
好像是新的实现函数只要在内核里就可以了,可是还是想知道其他系统调用函数的实现在哪里?

论坛徽章:
0
3 [报告]
发表于 2012-02-02 10:46 |只看该作者
sys_XXX的好像是以前系统调用的实现,现在的实现都是SYSCALL_DEFINEn(name, arg1, arg2, ...)这样的形式,
SYSCALL_DEFINEn中的n是该系统调用的参数个数,name是系统调用的名称。

论坛徽章:
0
4 [报告]
发表于 2012-02-02 11:01 |只看该作者
本帖最后由 cuic139 于 2012-02-02 11:28 编辑

:wink:

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP