【ARM Cache 与 MMU 系列文章 7.6 – ARMv8/v9 MMU Table 表分配原理及其代码实现 1】
请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】
及【嵌入式开发学习必备专栏】
文章目录
- MMU Table 表分配原理及其代码实现
- 虚拟地址空间 Region的配置
- 系统物理地址位宽获取
- 汇编代码实现
MMU Table 表分配原理及其代码实现
假设当前系统中需要映射多个region,其中第一个要映射的region虚拟地址范围是0x0000_0000 -- 0x8000_0000
一共2G
的大小。MMU默认最大支持48bit的虚拟地址,由前面文章可知 如果按照颗粒度为4K大小进行映射,且按照4级映射的方式进行映射(9bit-9bit-9bit-9bit-12bit
),那么:
- Level0 table 一个entry对应的大小为
512G<