fzhman
发表于 2012-04-04 15:55
#(KERNEL_START & 0xff000000)>>18
进过这句后,产生的立即数还是大于8位呀,这里没看懂!
回复 27# zsmctfy
meijianjun
发表于 2012-04-05 12:15
好文章!
longjiacheng
发表于 2012-04-06 10:12
:victory:楼主讲的很好!学习了
j123123
发表于 2012-05-20 10:48
好文,好文,领教了,谢谢.
怪怪虎
发表于 2012-05-21 21:59
不错,思路挺好的,赞一个。 如果能够解释下每条指令中为啥用某个寄存器而不用另外一个寄存器,在结合主板上的芯片解释,那就更通俗易懂了。
fuliangcheng
发表于 2012-05-22 09:01
顶啊,楼主太犀利了
diytvgy
发表于 2012-07-11 14:43
第181行: .algin 5 这句是cache line对齐. 我们可以看到下面一行就是 __turn_mmu_on, 之所以
第182 - 183行:__turn_mmu_on 的函数声明. 这里我们可以看到, __turn_mmu_on 是紧接着上面第168行的跳转指令的,只是中间在第181行多了一个cache line对齐.
这么做的原因是: 下面我们要进行真正的打开mmu操作了, 我们要把打开mmu的操作放到一个单独的cache line上. 而在之前的"启动条件"一节我们说了,I Cache是可以打开也可以关闭的,这里这么做的原因是要保证在I Cache打开的时候,打开mmu的操作也能正常执行.
想了很久还是不懂为什么要.algin 5和168行的跳转指令
请高手解释一下。
谢谢
maomao2126
发表于 2013-01-19 16:01
多谢楼主分享,顶了
duanius
发表于 2013-06-18 11:57
本帖最后由 duanius 于 2013-06-20 11:13 编辑
回复 9# xpl
b操作不会冲刷流水线把,又不是分支或者直接修改pc
我觉得184这个nop,就是为了和b __turn_mmu_on 一起凑够两个set ttb生效周期
另外看不懂186,是必须的嘛? 感觉mmu开启后应该只要2个nop就可以生效
wsshopping
发表于 2013-11-20 11:24
顶一下!!!!!!