源码基于:Kernel 5.4
约定:
- 芯片架构:ARM64
- CONFIG_ARM64_VA_BITS:39
- CONFIG_ARM64_PAGE_SHIFT:12
0. 前言
对于 debug 版本若通过 /sys/kernel/debug/memblock/reserved 节点查看,会发现很多细小的reserved hole。在之前《reserved-memory 详解》一文中分析了dts 中 reserved-memory 部分的内存 reserved 过程,这些内存都是工程师根据平台需要定义好的。在《paging_init 详解》一文中在进行 map_kernel 和 map_mem 映射时创建了很多的页表,系统将这部分的内存也当成了 reserved memory。
本文将继上面分析系统 reserved 的另一块细小的 memory。
1. unflatten_device_tree()
arch/ar