免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: xpl

arm linux kernel 从入口到start_kernel 的代码分析 [复制链接]

论坛徽章:
0
发表于 2012-04-04 15:55 |显示全部楼层
#(KERNEL_START & 0xff000000)>>18
进过这句后,产生的立即数还是大于8位呀,这里没看懂!

回复 27# zsmctfy


   

论坛徽章:
0
发表于 2012-04-05 12:15 |显示全部楼层
好文章!

论坛徽章:
0
发表于 2012-04-06 10:12 |显示全部楼层
楼主讲的很好!学习了

论坛徽章:
0
发表于 2012-05-20 10:48 |显示全部楼层
好文,好文,领教了,谢谢.

论坛徽章:
0
发表于 2012-05-21 21:59 |显示全部楼层
不错,思路挺好的,赞一个。 如果能够解释下每条指令中为啥用某个寄存器而不用另外一个寄存器,在结合主板上的芯片解释,那就更通俗易懂了。

论坛徽章:
0
发表于 2012-05-22 09:01 |显示全部楼层
顶啊,楼主太犀利了

论坛徽章:
0
发表于 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行的跳转指令
请高手解释一下。

谢谢

论坛徽章:
0
发表于 2013-01-19 16:01 |显示全部楼层
多谢楼主分享,顶了

论坛徽章:
0
发表于 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就可以生效
   

论坛徽章:
0
发表于 2013-11-20 11:24 |显示全部楼层
顶一下!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP