返回首页

ZVM特性:超级VHE (HyperVHE)

01 引言

VHE(Virtualization Host Extensions)是ARM体系结构中为虚拟化场景引入的一项硬件扩展机制,其核心目标是降低主机操作系统(主机OS)与Hypervisor之间的交互开销,从而提升虚拟化系统的整体执行效率。在此前的技术分析中已指出,VHE是实现RTOS原生虚拟化的重要基础能力之一,对实时性与调度效率具有显著提升作用。

需要注意的是,VHE并非所有ARM处理器均支持。该特性仅在ARMv8.1及以上架构中引入,而大量已部署的国产嵌入式处理器(如飞腾E2000、D2000等)仍停留在ARMv8.0架构,无法提供VHE硬件支持。这直接导致依赖VHE的虚拟化方案难以在上述平台上部署,严重制约了系统的适用范围与生态扩展能力。

相较之下,nVHE模式虽然能够运行在ARMv8.0架构之上,但其在特权级切换、中断处理和上下文管理方面引入了显著的软件开销,对实时性和系统简洁性产生不利影响。针对这一兼容性与性能之间的矛盾,ZVM设计并实现了一种增强型虚拟化模式——超级VHE(HyperVHE)

ZVM 创新方案: 该模式通过对主机操作系统的EL2特权级改造以及虚拟化核心机制的系统性重构,实现了一套统一的虚拟化实现框架,可覆盖ARMv8全系列架构。在性能表现上,HyperVHE在不依赖硬件VHE的前提下,整体效率接近甚至在部分路径上优于原生VHE,同时显著优于传统nVHE实现。

02 主机OS的EL2特权级改造

在ARM虚拟化架构中,无论采用VHE(图1-a)还是nVHE(图1-b)模式,主机操作系统通常运行在EL1特权级,而Hypervisor运行在EL2特权级,两者之间需要通过特权级切换完成交互。

VHE模式通过引入特权级共享机制,使主机操作系统能够直接访问部分EL2资源,从而减少切换开销;而在nVHE模式下,所有交互均需显式跨越EL1与EL2,涉及频繁的上下文保存与恢复,导致中断响应延迟增大,并削弱系统的实时确定性。这种模式也不利于ZVM所采用的“RTOS内核与原生虚拟化一体化”的整体设计。

VHE架构

nVHE架构

HyperVHE架构

图1. 三种虚拟化架构对比:HyperVHE 实现了主机 OS 与 Hypervisor 的同层运行

为此,ZVM采用了主机操作系统EL2化的设计思路:通过对主机OS进行特权级重构,使其直接运行于EL2,与Hypervisor在同一特权级协同工作,从根本上消除跨特权级切换所带来的性能损耗。这种同层运行模型保留了其“RTOS内核+原生虚拟化”一体化架构带来的实时性和灵活性优势(图1-c)。如图2所示,该改造主要包括以下三个方面:

A

EL2初始化机制重构,消除对VHE的依赖

在标准VHE模式下,主机OS的启动与初始化流程依赖VHE硬件特性。HyperVHE模式中,ZVM重构了启动路径,绕过所有VHE相关配置逻辑,直接在EL2层完成关键运行环境的初始化,包括栈指针、系统状态寄存器以及异常返回路径等,确保主机OS能够在无VHE支持的情况下稳定运行于EL2。

B

内存管理子系统的EL2访问适配

原有内存管理机制以 EL1 访问模型为设计前提。为支持主机OS在EL2层运行,ZVM对内存管理子系统进行了系统性调整,包括内存属性配置、访问权限规则以及页表结构的重新规划,使主机OS能够在EL2特权级下安全、高效地访问物理内存资源。

C

中断处理机制本地化

在传统nVHE模式下,中断需要在EL2捕获后再转发至EL1处理,不仅路径冗长,而且增加了异常处理的复杂度。HyperVHE为EL2层引入了完整的中断处理逻辑,将中断控制器(GIC)的管理能力提升至EL2,使中断与异常能够在本地完成分发与处理,从而显著降低响应延迟,满足实时系统对确定性的要求。

主机OS的三大EL2改造

图2. 主机OS的三大EL2改造

03 虚拟化机制重构

ZVM早期的虚拟化核心实现以VHE架构为设计前提,从系统寄存器配置到客户OS的调度与切换,均深度依赖VHE的硬件行为模型。这种实现方式在ARMv8.0等不支持VHE的平台上无法直接运行,导致客户OS调度、中断注入等关键功能失效。为此,ZVM对虚拟化核心机制进行了适配性重构,使其能够在nVHE条件下稳定运行,同时保持高效调度与严格隔离。具体来说,主要包括两个关键地方的重构:

(1)客户OS上下文切换优化

在客户OS切换过程中,需要完整保存并恢复其运行上下文,包括系统控制寄存器、定时器状态等关键信息。原有实现依赖VHE提供的寄存器访问语义。HyperVHE模式下,ZVM为nVHE场景重新设计了一套独立的上下文管理机制(图3),确保所有关键状态在切换过程中被精确保存与恢复,从而保证客户OS运行的连续性与一致性。

上下文切换重构

图3. 上下文切换重构

(2)EL2专属中断异常向量表设计

ZVM在EL2层新增了一套完整的中断与异常向量表,用于统一管理来自外设与虚拟环境的中断事件(图4)。外部中断触发后,系统可直接在EL2层完成异常分发,并根据映射关系将中断精准投递至目标客户OS,避免在EL1与EL2之间进行多余跳转,提高中断处理效率与系统确定性。

中断机制重构

图4. 中断机制重构

总结:HyperVHE 的价值

  • 突破架构限制: 使 ARMv8.0 处理器(如国产飞腾系列)具备与高端芯片同等的虚拟化效率。
  • 极致实时性: 消除特权级切换开销,将关键路径延迟降至物理极限。
  • 强隔离与高效调度: 在资源受限的嵌入式平台上实现多 OS 的稳定并行。

扫码查看视频介绍

小红书二维码

小红书视频

微信二维码

微信视频号/公众号