arm lnux 从入口到start_kernel 代码详细分析2.docVIP

arm lnux 从入口到start_kernel 代码详细分析2.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
arm lnux 从入口到start_kernel 代码详细分析2

1.,,,,确定,,,,processor,,,,type ???,,,,arch/arm/kernel/head.S中: 00075:?,,,,mrc,,,,p15,,,,,0,,,,,r9,,,,,c0,,,,,c0?,,,,@,,,,get,,,,processor,,,,id???????,,,, 00076:?,,,,bl,,,,__lookup_processor_type?,,,,@,,,,r5=procinfo,,,,r9=cpuid???,,,, 00077:?,,,,movs,,,,r10,,,,,r5???,,,,@,,,,invalid,,,,processor,,,,(r5=0)? 00078:?,,,,beq,,,,__error_p??,,,,@,,,,yes,,,,,error,,,,p?????????,,,, 75行:,,,,通过cp15协处理器的c0寄存器来获得processor,,,,id的指令.,,,,关于cp15的详细内容可参考相关的arm手册 76行:,,,,跳转到__lookup_processor_type.在__lookup_processor_type中,会把processor,,,,type,,,,存储在r5中 77,78行:,,,,判断r5中的processor,,,,type是否是0,如果是0,说明是无效的processor,,,,type,跳转到__error_p(出错) __lookup_processor_type,,,,函数主要是根据从cpu中获得的processor,,,,id和系统中的proc_info进行匹配,将匹配到的proc_info_list的基地址存到r5中,,,,,0表示没有找到对应的processor,,,,type. 下面我们分析__lookup_processor_type函数 arch/arm/kernel/head-common.S中: 00145:?,,,,.type,,,,__lookup_processor_type,,,,,%function 00146:,,,,__lookup_processor_type: 00147:?,,,,adr,,,,r3,,,,,3f 00148:?,,,,ldmda,,,,r3,,,,,{r5,,,,-,,,,r7} 00149:?,,,,sub,,,,r3,,,,,r3,,,,,r7??,,,,@,,,,get,,,,offset,,,,between,,,,virtphys 00150:?,,,,add,,,,r5,,,,,r5,,,,,r3??,,,,@,,,,convert,,,,virt,,,,addresses,,,,to 00151:?,,,,add,,,,r6,,,,,r6,,,,,r3??,,,,@,,,,physical,,,,address,,,,space 00152:,,,,1:,,,,ldmia,,,,r5,,,,,{r3,,,,,r4}??,,,,@,,,,value,,,,,mask 00153:?,,,,and,,,,r4,,,,,r4,,,,,r9??,,,,@,,,,mask,,,,wanted,,,,bits 00154:?,,,,teq,,,,r3,,,,,r4 00155:?,,,,beq,,,,2f 00156:?,,,,add,,,,r5,,,,,r5,,,,,#PROC_INFO_SZ?,,,,@,,,,sizeof(proc_info_list) 00157:?,,,,cmp,,,,r5,,,,,r6 00158:?,,,,blo,,,,1b 00159:?,,,,mov,,,,r5,,,,,#0???,,,,@,,,,unknown,,,,processor 00160:,,,,2:,,,,mov,,,,pc,,,,,lr 00161: 00162: 00165:,,,,ENTRY(lookup_processor_type) 00166:?,,,,stmfd,,,,sp!,,,,,{r4,,,,-,,,,r7,,,,,r9,,,,,lr} 00167:?,,,,mov,,,,r9,,,,,r0 00168:?,,,,bl,,,,__lookup_processor_type 00169:?,,,,mov,,,,r0,,,,,r5 00170:?,,,,ldmfd,,,,sp!,,,,,{r4,,,,-,,,,r7,,,,,r9,,,,,pc} 00171: 00172: 00176:?,,,,.long,,,,__proc_info_begin 00177:?,,,,.long,,,,__proc_info_end 00178:,,,,

文档评论(0)

pep2233 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档