系统调用的实现在么找
问题:阅读kernel源码发现怎么只有系统调用的声明,找不到系统调用的实现呢?
请问,系统调用的实现代码在那个文件呢?比如 sys_getpid 函数 搜索 SYSCALL_DEFINE 先找到声明,如sys_abc,数一下有几个参数,比如4个
然后:grep -nr SYSCALL_DEFINE4 ./ | grep abc 谢谢两位的指教,感激涕零。 回复 3# arm-linux-gcc
赞。好方法。之前都是用cssope搜索正则.. 回复 5# kiongf
其实我大部分时候都用source insight的,先搜索SYSCALL_DEFINE4,然后在结果里搜索abc 回复 1# palm008
可以在 SI中打开正则表达式搜索,然后搜索 "SYSCALL_DEFINE.(getpid"
这样可以一次性搞定! 呵呵,正则表达式是个好东西~ --regex-c='/^SYSCALL_DEFINE[[:digit:]]?\(([^,)]*).*/sys_\1/'
这是scripts/tags.sh中的代码, kernel都做好了, 用不着自己折腾。
make tags之后, 我vim中直接:ts sys_open
回复 3# arm-linux-gcc
有一招不需要去找有幾個參數
grep -nr SYSCALL_DEFINE[^s] ./ | grep abc
這樣就會直接找到abc這函數在哪了
页:
[1]
2