在英特尔的扩展页面 table (EPT) 中,TLB 是否将客户虚拟地址缓存到客户物理地址?

In Intels extended page table (EPT), does the TLB cache guest virtual address to guest physical address?

我正在阅读有关英特尔支持虚拟化的 EPT。我读到了嵌套页面 table。我的问题是,TLB 是否将访客 VA 缓存到访客 PA 以及访客 PA 到主机地址?或者它只是机器地址的虚拟地址?

如果只有 "conventional" TLB,那么它会将 HVA 存储到 HPA(机器地址),但现在一些处理器可用于存储中间转换的其他虚拟化特定 TLB。

没有。我认为这对 TLB 保持从访客线性地址到访客物理地址的映射没有用。我的理解是,TLB 条目应该只包含可用于生成 real 物理地址的映射。根据 Intel SDM,TLB 中可能存在三种不同类型的映射:

  • 线性到物理映射
  • 客户机物理到主机物理映射
  • 组合映射

所有这三个映射都会生成主机页框编号,而不是来宾页框编号。

注意: 我使用术语 "linear address" 而不是 "virtual address",因为如果我们考虑分割过程,它是一个更准确的术语。