点击查看系列文章 =》 Interrupt Pipeline系列文章大纲-CSDN博客
原创不易,需要大家多多鼓励!您的关注、点赞、收藏就是我的创作动力!
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项:
1)/proc/ipipe/version 展示版本号
2)/proc/ipipe/Linux 展示
3)/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。
至此,整个第三章《I-pipe启动过程》就完结了。第四章将会分析head domain的初始化,中断是如何在root domain和head domain流动的,是如何和Linux中断子系统耦合的。
点击查看系列文章 =》 Interrupt Pipeline系列文章大纲-CSDN博客
原创不易,需要大家多多鼓励!您的关注、点赞、收藏就是我的创作动力!