Linux 内核中 mm_struct 中的“pgd”属性是物理地址还是虚拟地址?

问题描述

在 Arm32 架构(Flat Memory Model)中,mm_struct 中的 'pgd' 属性一个虚拟地址。但是,如果我理解正确的话,在 Arm64 架构(稀疏内存模型)中,mm_struct 中的 'pgd' 属性一个物理地址。

为什么两种架构之间会有如此大的差异?为什么Arm64中的pgd不是虚拟地址?

感谢您的关注。

解决方法

我误会了。 pgd 在稀疏内存模型中也存储为虚拟地址。