3.6 第四行之__ipipe_init_proc()
__ipipe_init_proc()并不是直接在start_kernel中调用,它的调用关系如下:
start_kernel
->rest_init
->kernel_init
->kernel_init_freeable
->do_basic_setup
->__ipipe_init_proc()
__ipipe_init_proc()创建/proc/ipipe目录,并新增3项。

-
/proc/ipipe/version 展示版本号
-
/proc/ipipe/Linux 展示
-
/proc/ipipe/tracer用于debug
逐项展开分析:
(1)/proc/ipipe/version
root@u20:~# cat /proc/ipipe/version
12
(2)/proc/ipipe/Linux
其中#cat /proc/ipipe/Linux,会展示root domain的所有中断信息。这些输出,也印证了《3.5.2__ipipe_init()之完成中断处理程序设置》的分析。

具体展示的原理就是读操作会触发如下调用栈,
__ipipe_info_proc_ops.open
->__ipipe_common_info_open
-> __ipipe_common_info_show

(3)/proc/ipipe/tracer
这是一个目录项,底下会创建一些子项用于ipipe debug,有机会再专门开一章讲一下debug。
这是一个目录项,底下会创建一些子项用于ipipe debug,有机会再专门开一章讲一下debug。
至此,整个第三章《I-pipe启动过程及初始化》就完结了。第四章将会分析head domain的初始化,中断是如何在root domain和head domain流动的,是如何和Linux中断子系统耦合的。
1195

被折叠的 条评论
为什么被折叠?



