Chinaunix首页 | 论坛 | 博客
  • 博客访问: 33995
  • 博文数量: 6
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-04 12:43
文章分类
文章存档

2015年(6)

我的朋友

分类: LINUX

2015-04-02 00:36:44

arch/arm/kernel/head.S
 setmode PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9
关闭普通中断,快速中断,使能SVC模式.

setmode是一个宏,其定义为:
.macro setmode, mode, reg
msr   cpsr_c, #\mode
.endm

mrc     p15, 0, r9, c0, c0                                            @ get processor id
通过cp15协处理器的c0寄存器来获得processor id的指令


 bl      __lookup_processor_type                                 @ r5=procinfo r9=cpuid
跳转到__lookup_processor_type.



(arch/arm/kernel/head-common.S)
adr     r3, 3f                       
取地址指令,这里的3f是向前symbol名称是3的位置,将该地址存入r3


ldmia   r3, {r5 - r7}
加载r3指向的地址上的多字数据,保存到r5-r7中,r3的值更新
阅读(1341) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:基于ARM的LINUX内核启动分析

给主人留下些什么吧!~~