首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARM Linux内核中的页表条目(PTE)描述符

ARM Linux内核中的页表条目(PTE)描述符
EN

Stack Overflow用户
提问于 2013-06-04 02:53:32
回答 2查看 6.4K关注 0票数 3

我读过杜阿尔特斯的文章:http://duartes.org/gustavo/blog/post/how-the-kernel-manages-your-memory

在描述PTE内容的部分,位0:11与ARMv5体系结构参考手册中的描述不同

详情如下:

Bit 0:11包含:

  • 在杜阿尔特斯文章:位0:P(现在),位1:R/W,位2:U/S (用户/主管),.
  • 在ARMv5体系结构参考手册: bits 1:0标识描述符的类型(0b11标记一个良好的页表描述符),bits 4:2:这些位的含义是实现定义的,.

(参见:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0198e/I16780.html )。我认为ARMv5架构参考手册中的二级描述符与Duartes的文章中的PTE相对应。

那么,问题是PTE描述符取决于平台(x86,ARM,.)?

对我来说,我认为PTE描述符不应该依赖于平台。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-08-30 09:11:10

由于每个体系结构实现它们的MMU (内存管理单元)不同,PTE描述符依赖于体系结构。

如果我们看一下Linux,它有一个三层的页面表结构(继承自x86体系结构),在大多数ARM平台中,它被包装成一个两层的页面表结构(较新的ARM支持3层)。Linux还使用x86体系结构中可用的“脏”和“访问”位作为内核的内存管理逻辑。这些位元在ARM架构中是不可用的,ARM Linux通过在软件中对其进行仿真解决了这一问题。这是通过拥有两个版本的PTE页面表来完成的。一个用于包含这些缺失的“位”的操作系统,另一个用于实际的HW使用。

最后,用于不同体系结构的Linux操作系统的行为是相同的。这都是关于操作系统是如何使用特定架构所提供的硬件机制的,因为每种机制都有优缺点。

票数 3
EN

Stack Overflow用户

发布于 2013-06-04 13:54:00

ARM Linux代码根据、ARM、和其他条件的类型而有所不同。pgtable.hpage.hpgtable-2level.h给出了一些细节。PTE值有两个版本:一个用于Linux,另一个用于硬件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16909101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档