1. arm linux boot flow
map_io is called very early, which is at paging_init
the kernel_init will not go on running until kthreadd has created(complete(&kthreadd_done))
__define_initcall is called at the last of main(at process init), and there are called by linked order
and module_init also is called at init