__lookup_processor_type函数,确定内核是否支持当前CPU,如果支持,r5寄存器返回一个用于描述处理器的结构体的地址,否则r5 = 0
__lookup_processor_type函数根据前面读出的CPU ID(存在r9寄存器中),从这些proc_info_list结构中找出匹配的
/arch/arm/kernel/head-common.S中
156 __lookup_processor_type:
157 adr r3, 3f //r3 = 190行物理地址,adr是基于PC寄存器计算地址值,由于这时候还没
有使能MMU,PC寄存器中使用的还是物理地址
158 ldmda r3, {r5 - r7} //[r3]->r7,[r3-4]->r6,[r3-8]->r5,也即r5 = __proc_info_begin(虚拟地址)
r6 = __proc_info_end(虚拟地址) r7 = 190行的虚拟地址
159 sub r3, r3, r7 //r3 = r3 - r7,即物理地址 - 虚拟地址