vmlinux.lds.S (arch\arm\kernel)
ENTRY(stext)/*定义stext作为入口点*/
head.S (arch\arm\kernel)
ENTRY(stext)
bl __lookup_processor_type
bl __lookup_machine_type
bl __create_page_tables
函数地址:
ldr r13, __switch_data
adr lr, __enable_mmu @ return (PIC) address
add pc, r10, #PROCINFO_INITFUNC
__enable_mmu:
mov pc, r13
head-common.S (arch\arm\kernel)
__switch_data:
__mmap_switched:
b start_kernel
Main.c (init)
asmlinkage void __init start_kernel(void)
ENTRY(stext)/*定义stext作为入口点*/
head.S (arch\arm\kernel)
ENTRY(stext)
bl __lookup_processor_type
bl __lookup_machine_type
bl __create_page_tables
函数地址:
ldr r13, __switch_data
adr lr, __enable_mmu @ return (PIC) address
add pc, r10, #PROCINFO_INITFUNC
__enable_mmu:
mov pc, r13
head-common.S (arch\arm\kernel)
__switch_data:
__mmap_switched:
b start_kernel
Main.c (init)
asmlinkage void __init start_kernel(void)