Linux内存管理(十二):unflatten_device_tree 详解

源码基于: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

猜你喜欢

转载自blog.csdn.net/jingerppp/article/details/132904122