【发布时间】:2015-01-19 06:48:02
【问题描述】:
我对 linux 如何利用 ARMv7 MMU 硬件进行 3 级页表遍历有点困惑。 MMU 只有 2 个寄存器 ttbr0 和 ttbr1(一个用于内核,另一个用于用户空间)。 mmu怎么知道linux的多级页表遍历?
谢谢, 高压
【问题讨论】:
-
软件页表遍历与硬件页表遍历的工作方式完全相同——给定一个基地址,查找相关条目并将其解码为故障、映射或地址下一级表(并重复)。您确实知道多级页表的一般工作原理,对吧?
-
我不完全理解。我的意思是做软件页表遍历,每次获取/加载是不是太多了?不应该只由硬件完成吗?我试图阅读许多链接,但无法完全理解。你能提供一些有意义的链接来理解这个主题吗?