天天看點

Linux Kernel Initcall的實作

1.      How to define new initcall

Linux Kernel Initcall的實作

a)        Built-in initcall

Linux Kernel Initcall的實作
Linux Kernel Initcall的實作

b)       Module initcall

Linux Kernel Initcall的實作
Linux Kernel Initcall的實作

2.      Howdoes the kernel call the initcall

a)        函數調用關系如下:

start_kernel() => rest_init() => kernel_init() => kernel_init_freeable()=> do_basic_setup() => do_initcalls()

b)       原理及過程

                        i.             代碼時調用initcall系列宏

                      ii.             編譯時,編譯器将這些宏放入指定的section

                     iii.              

Linux Kernel Initcall的實作
Linux Kernel Initcall的實作
Linux Kernel Initcall的實作

繼續閱讀