linux2.6.30html
n-ubuntu05@nubuntu05:linux-2.6.30.4$ tree init/ init/ ├── calibrate.c ├── do_mounts.c ├── do_mounts.h ├── do_mounts_initrd.c ├── do_mounts_md.c ├── do_mounts_rd.c ├── initramfs.c ├── Kconfig ├── main.c ├── Makefile ├── noinitramfs.c └── version.c
asmlinkage void __init start_kernel(void) { smp_setup_processor_id(); lockdep_init(); debug_objects_early_init(); ... }
asmlinkage告訴編譯器,函數參數不是用寄存器來傳遞的,而是用堆棧來傳遞。why?能夠參考:http://bbs.chinaunix.net/thread-4152033-2-1.htmllinux
lockdep_init()在打開了CONFIG_LOCKDEP會調用,不然不執行任何操做;
debug_objects_early_init()在打開CONFIG_DEBUG_OBJECTS會調用,不然不執行任何操做。ubuntu