虚拟化之主机扩展(type-2虚拟化)

2023-12-14 22:52:39

以下图表显示了我们在虚拟化异常部分中查看的软件栈和异常级别的简化版本:

您可以看到独立的超级管理程序是如何映射到Arm异常级别的。超级管理程序在EL2上运行,虚拟机(VM)在EL0/1上运行。对于托管的超级管理程序,情况更为棘手,如下图所示:

传统上,内核在EL1上运行,但虚拟化控制位于EL2。这意味着大多数主机操作系统位于EL1,其中一些stub代码在EL2上运行以访问虚拟化控制。这种安排可能是低效的,因为它可能涉及额外的上下文切换。 内核将需要处理在EL1和EL2上运行时的一些差异,但这些差异仅限于一小部分子系统,例如早期引导。

【注意】:DynamIQ处理器(Cortex-A55、Cortex-A75和Cortex-A76)支持虚拟化主机扩展(VHE)。

在EL2运行主机操作系统

VHE由HCR_EL2中的两个位控制。这两个位可以总结为:

  • E2H:控制是否启用VHE。
  • TGE:当启用VHE时,控制EL0是Guest还是Host。

以下表格总结了典型的设置:

文章来源:https://blog.csdn.net/yuxiaochen99/article/details/135004771
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。