aarch64 MMU:跳过 first/second 级表
aarch64 MMU: skipping first/second level tables
on armv7 [1] / aarch32 [2] MMU,当使用Long描述符时,当ttbr0描述的virtual space足够小(此处为1Gb)时,可以跳过level 1 translation,留下只有两个级别的翻译。
但是我在aarch64 翻译描述中没有看到类似的东西。有谁知道在使用 aarch64 时是否仍然可以减少 ttbr0 使用的翻译数量 table?
如果 ARM ARM 中有一个参考,那就太好了。
最佳,
V.
[1]:ARMARM v7,B3.6 长描述符转换table格式,图 B3-12 使用长描述符格式的第 1 阶段地址转换的一般视图
[2]:ARMARM v8,G4.6.1 使用长描述符转换的 VMSAv8-32 地址转换概述 tables,图 G4-8
正如所讨论的 here,它仍然是可能的,但扩展到几个场景。我主要取决于选择的颗粒大小,以及虚拟 space 的大小。有一些表格(如 Table D4-11 TCR.TnSZ values and IA ranges when there is no concatenation of translation tables
)可帮助您了解您将在哪个级别开始翻译,具体取决于您的配置。
on armv7 [1] / aarch32 [2] MMU,当使用Long描述符时,当ttbr0描述的virtual space足够小(此处为1Gb)时,可以跳过level 1 translation,留下只有两个级别的翻译。
但是我在aarch64 翻译描述中没有看到类似的东西。有谁知道在使用 aarch64 时是否仍然可以减少 ttbr0 使用的翻译数量 table?
如果 ARM ARM 中有一个参考,那就太好了。
最佳,
V.
[1]:ARMARM v7,B3.6 长描述符转换table格式,图 B3-12 使用长描述符格式的第 1 阶段地址转换的一般视图
[2]:ARMARM v8,G4.6.1 使用长描述符转换的 VMSAv8-32 地址转换概述 tables,图 G4-8
正如所讨论的 here,它仍然是可能的,但扩展到几个场景。我主要取决于选择的颗粒大小,以及虚拟 space 的大小。有一些表格(如 Table D4-11 TCR.TnSZ values and IA ranges when there is no concatenation of translation tables
)可帮助您了解您将在哪个级别开始翻译,具体取决于您的配置。