我最近查看了ARM64 linux内核的配置文件,发现设置了以下选项: -
CONFIG_ARM64_4K_PAGES=y
CONFIG_ARM64_VA_BITS_48=y
CONFIG_ARM64_VA_BITS=48
查看幻灯片8 here,我看到4KB页面大小和48位VA意味着有4个级别的翻译。所以我看一下Aarch64参考手册。
为方便起见,我上传了reference manual第1718页的图片。
我可以看到每个级别的转换表的索引是9位(除了最后一级)。因此,零,第一和第二转换表应该能够索引2 ^ 9个值。
我的怀疑是: -
[编辑] 将位数从8更正为9。