免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2086 | 回复: 2
打印 上一主题 下一主题

[操作系统] ARM linux 页目录的切换疑问 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-14 13:24 |只看该作者 |倒序浏览
小弟有一个问题是关于 arm的,我先设置 一个临时页目录+页表,将SDRAM等价映射,然后再做将 SDRAM的前面4M 映射到  3G - 3G+4M,然后将代码拷贝到 3G + 1M - 3G + 4M 内,前面空出1M给内核放内核的页目录+页表,然后跳到 3G + 1M 处执行,然后我就要重建 内核页表,因为我前面的页表是在 SDRAM 内,不在 3G - 4G  空间,所以得重新映射一遍,这就有一个问题了,新页表创建完毕后,要切换到新的页目录,就是3G 处的内核新的页目录处,但是放3G页表的映射表是在老的页目录中,新的页目录又得销毁老页目录,这个切换过程,好像等于是自己将自己的脚砍掉,(有这种感觉),那arm-linux 是怎么做的啊,这困扰了我好长时间了,求大牛解释下

论坛徽章:
1
15-16赛季CBA联赛之新疆
日期:2017-03-09 12:33:45
2 [报告]
发表于 2013-05-14 17:17 |只看该作者
回复 1# true_casey


    你这个问题,所有的体系架构都会有,说的白一点,就是有两张页表,映射的内容是同一个,但偏移相关3G,说的白一点,你原来的1M的地址(这个地址是物理地址),被映射到3G+1M(这是在新的页表中),这个就等于说原来是拨打001叫小明,现在是8001叫小明,其实是叫的同一个人,不会有问题的。至于你说的被砍脚,那个就是惊险的一跳。这个有专门的命令。它装入页目录地址,并且FLUSH CACHE,这个所有的架构,具体可能不一样,但思路是一样的。

论坛徽章:
0
3 [报告]
发表于 2013-05-14 20:16 |只看该作者
原来是我弄错了的,cp15 这个ttb  寄存器接受的只有物理地址,这就能解释我所有的问题了,我太粗心了,一个源自错误结论的错误结论......
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP