Interrupt Pipeline系列文章大纲-CSDN博客
I-pipe的启动代码位于init/main.c: start_kernel函数中。可以看到代码提交是集中在patch: genirq: add generic I-pipe core (8f933b57) · 提交 · xenomai / ipipe-arm64 · GitLab (denx.de),主要是四行:
(1) hard_local_irq_disable()
(2) __ipipe_init_early()
(3) __ipipe_init()
(4) __ipipe_init_proc()
越是简单的代码,背后的故事越多!
Linux内核的初始化流程是什么样的?是怎么走到start_kernel的?为什么I-pipe选择在start_kernel中进行初始化?四行代码的位置有什么学问?
下一章节,展开这个故事。