![[linux内存管理] 第027篇 Linux ARM64 虚拟地址布局](https://halo-19274848.oss-cn-shanghai.aliyuncs.com/2025/06/halo_fqmrh3x.png?x-oss-process=image/resize,w_800,m_lfit)
[linux内存管理] 第027篇 Linux ARM64 虚拟地址布局
本文详细讨论了ARM64架构下Linux内核的虚拟地址布局,采用kernel版本5.15,配置了虚拟地址宽度为39位、物理地址宽度为48位等参数。文章首先介绍了虚拟地址和物理地址的概念,随后计算了用户空间和内核空间的大小及范围。接着,根据代码中的定义,详细计算了线性映射区、模块区、内核镜像区、vmalloc区、固定映射区、PCI I/O区和VMEMMAP区等各个区域的起始地址、结束地址和大小。最后,文章指出由于2019年的一个commit,线性映射区域被下移到了内核虚拟地址的低地址处。