在系统启动移植的分析过程中的,会遇到几处C语言中调用汇编的函数,我们来一起看下。


1、​​lookup_processor_type​​函数

在启动分析的时候,从​​start_kernel​​​ -> ​​setup_arch​​​ -> ​​setup_processor​​​ -> ​​lookup_processor_type​

/*
* This provides a C-API version of __lookup_processor_type
*/
ENTRY(lookup_processor_type)
stmfd sp!, {r4 - r6, r9, lr}
mov r9, r0
bl __lookup_processor_type
mov r0, r5
ldmfd sp!, {r4 - r6, r9, pc}
ENDPROC(lookup_processor_type)

2、​​printascii​​ 函数

ENTRY(printascii)
addruart_current r3, r1, r2
b 2f
1: waituart r2, r3
senduart r1, r3
busyuart r2, r3
teq r1, #'\n'
moveq r1, #'\r'
beq 1b
2: teq r0, #0
ldrneb r1, [r0], #1
teqne r1, #0
bne 1b
mov pc, lr
ENDPROC(printascii)