免费注册 查看新帖 |

Chinaunix

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

[内存管理] arm mva 疑问。。。 [复制链接]

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-06-24 11:38 |只看该作者 |倒序浏览
if (VA<32M) then
       MVA=VA | (PID<<25)   //VA<32M
else
       MVA=VA               //VA>=32M

一个进程的地址空间如何分布?谢谢!

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2014-06-24 14:02 |只看该作者
照fcse机制,一个进程仅能访问0到32M之间的用户空间的话
1)如何访问32M到3G的用户空间?
2)如何访问内核空间3G-4G?

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
3 [报告]
发表于 2014-06-25 09:20 |只看该作者
本帖最后由 arm-linux-gcc 于 2014-06-25 09:30 编辑

FCSE这东西在linux上是没有使用的,arm手册里有说明——不建议使用FCSE,
见《DDI0406C_arm_architecture_reference_manual》章节J.1,About the FCSE
《DEN0013C_cortex_a_series_PG》章节10.8.3,The Fast Context Switch Extension

这东西局限性太大,不适合linux


内核中虽然也有读写fcse相关的寄存器,但是并没有开启fcse的功能,读写fcse寄存器仅仅是用来实现硬件tls而已

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2014-06-25 09:29 |只看该作者
回复 3# arm-linux-gcc

谢谢!

哦,那就是跟x86完全一样了吧。有何不同?

还有,这个是什么意思?
* Allocate one PTE table.
*
* +--------------+ 0
* | Linux pt 0 |
* +--------------+
* | Linux pt 1 |
* +--------------+ 2048
* | h/w pt 0 |
* +--------------+
* | h/w pt 1 |
* +--------------
This switches the ordering of the Linux vs hardware page tables in
each page, thereby eliminating some of the arithmetic in the page
table walks.

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
5 [报告]
发表于 2014-06-25 09:33 |只看该作者
arm的页表项中缺少dirty位,所以用软件来模拟了dirty位

dirty位用在swap功能中,如果一个页被写过,那么就可以交换到硬盘/sd卡/emmc中


论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2014-06-25 10:16 |只看该作者
回复 5# arm-linux-gcc


    >the Linux vs hardware page tables
二级页表里为何分两类?各占多少?

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
7 [报告]
发表于 2014-06-25 10:39 |只看该作者
hardware pte部分的功能不能完全满足linux的要求,所以不齐全的部分就用linux pte模拟的

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2014-06-25 11:11 |只看该作者
回复 7# arm-linux-gcc


    这样的话,岂不是寻址空间会缩小?!arm进程也能寻址0-3G么?

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
9 [报告]
发表于 2014-06-25 11:34 |只看该作者
不会缩小啊,仍然是3G的user space

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2014-06-26 08:39 |只看该作者
本帖最后由 chishanmingshen 于 2014-06-26 08:45 编辑

回复 9# arm-linux-gcc


    为何网上说一级表占4页?我算的是8页啊:
对于一级表中的每个pgd表项表示1M空间,共512项,所以占4G/(1M*512)=8页
另外,不用36bit的CONFIG_ARM_LPAE宏的话,页表中的空间就浪费了。是吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP