关于编写新的系统调用的问题
也许是我没有完全理解书本上的意思,请教一下关于系统调用编写的问题:1、比如有内核函数sys_gettimeofday(),它和gettimeofday()有什么联系,是不是可以认为编写系统调用的函数是sys_gettimeofday(),而在用户程序中使用系统调用gettimeofday(),通过系统调用表中定义的相应编号来完成该调用。
2、对于上面的例子(假设sys_gettimeofday()还不存在),如果要增加这个系统调用,我是否只需要在sys_call_table中定义了编号,然后编写了sys_gettimeofday(),编译通过就可以了呢?gettimeofday()是不是不用写,在完成前两步后会自动生成?
非常感谢!!! 1 is correct
first half of 2 is correct.
u still need to implement the gettimeofday. 有没有在unistd.h中添加新的系统调用? 那请问有些系统调用,有sys_和do_开头的函数,这两个前缀有什么关系,谢谢 那请问有些系统调用,有sys_和do_开头的函数,这两个前缀有什么关系,谢谢
do_XXXX是真正的实现 再问一个:系统调用的函数所在的文件是否一定要放在kernel目录下?还是只要entry.S和unist.h中说明了,放在内核的任意目录下都可以?
谢谢 还有一个问题:我完成了entry.S和unist.h中的添加,但没有具体定义该系统调用的函数,make bzImage时是不是会出错?
我写过一个系统调用,但写第二个时遇到了这个问题,出错体提示说在kernel.o中sys_call_table函数没有定义,不知为什么,谢谢!
页:
[1]