源码基于:Linux5.4
约定:
- 芯片架构:ARM64
- 内存架构:UMA
- CONFIG_ARM64_VA_BITS:39
- CONFIG_ARM64_PAGE_SHIFT:12
- CONFIG_PGTABLE_LEVELS :3
0. 前言
前面 memblock初始化 一文中详细分析了在内核启动之后,因为还没有进入复杂的应用场景,针对一些简单的系统初始化,也需要内存管理,而memblock 就是这样的内存管理模块。
在memblock 初始化之后,对其他模块进行初始化时,对内核memory 进行映射,创建相应的页表。通过map_kernel() 映射内核映像到内核空间的虚拟地址,通过map_mem() 做物