1,323
社区成员




近年来,随着国产处理器的加速发展,多架构生态并行已成为现实。如何在多样化的硬件平台上构建统一的虚拟化能力,成为业界关注的核心问题。
由 矽望开源社区(Syswonder) 主导研发的 hvisor,是一款基于 Rust实现的 Type-1 轻量级虚拟机监控器(Hypervisor),采用分区内核设计,专注于安全、简洁与高效。2025年9月最新发布的 v0.2 版本中,hvisor 在硬件支持、架构优化与工程稳定性等方面迎来了重要升级。
hvisor 是一个采用分区内核(separation kernel)架构设计的Type-1(裸机型) 虚拟机监控器 (Hypervisor),使用 Rust 语言实现。其核心在于通过严格的硬件资源分区为不同安全级别和关键性的任务提供安全隔离的运行环境,并在安全性与低开销虚拟化之间取得出色平衡。
核心架构与分区:
Zone0(管理区):负责系统启动、管理和监控虚拟机。
ZoneU(用户区):用于运行常规操作系统(如 Linux)或应用环境。
ZoneR(实时区):为实时操作系统(RTOS)或高优先级任务提供隔离的、低延迟的运行环境。
这种分区设计使 hvisor 相比传统虚拟机监控器更加轻量 ,特别适合嵌入式系统和国产硬件平台。目前,其已支持aarch64、riscv64、loongarch64多种架构,适配 QEMU 模拟环境及多个国产开发板和芯片 。
关键特性:
严格的分区隔离:
Zone0/ZoneU/ZoneR 物理隔离,保障性能与安全。
轻量与安全保障:
Rust 语言实现确保内存安全和代码健壮;部分核心模块正采用 verus 工具进行形式化验证。
CPU 虚拟化:
物理 CPU 核心静态分区给各 Zone,无需复杂调度器,确定性高。
内存虚拟化:
虚拟机内存通过配置文件静态预分配,支持物理内存隔离验证。
灵活的I/O虚拟化:
支持设备直通 (Passthrough) 以获得原生性能,以及 virtio 半虚拟化 实现高效通用设备访问;覆盖存储、网络、GPU 等关键设备。
广泛的操作系统支持:
能够在不同 Zone 运行多样化的客户操作系统,包括 Linux、Zephyr、RT-Thread 等。
在 v0.2 版本中,hvisor 最引人注目的变化就是硬件支持的大幅扩展。
图:新增对 Milk-V Megrez 的支持
图:新增对 Phytium-Pi(飞腾派)的支持
图:新增对龙芯 3A6000 平台的支持
除了继续在AArch64架构上支持 RK3588、ZCU102 等主流开发板,本次更新新增了:
RISC-V平台:Milk-V Megrez、SiFive HiFive Premier P550
Arm64 平台:Phytium-Pi
LoongArch平台:龙芯3A6000(7A2000 桥片)
这一系列更新意味着 hvisor 已经同时覆盖了国产RISC-V与LoongArch芯片,以及更多典型的 Arm64 开发板,为多样化的硬件生态提供了坚实的虚拟化支撑。
hvisor v0.2 显著提升了多架构支持能力,重点优化了 RISC-V、AArch64 (Arm64) 和 LoongArch 三大平台:
RISC-V:
改进了初始化流程和 PLIC 中断控制器管理。
AArch64:
新增对 AArch32 客户虚拟机模式 的支持(例如在 RK3588 上运行 Zephyr)。
新增 RK3588 平台在 non-root zone 运行 RT-Thread 标准版的支持。
完善了 GICv2/v3 中断控制器配置。
LoongArch:
修复了客户虚拟机定时器补偿逻辑,并新增了对 LoongArch 架构下 PCIe 设备虚拟化 的关键支持(涵盖集显、网卡、SSD 等)。
中断控制器增强: 改进了 VMCR 计算,优化了 GIC 参数结构(包含配套的 hvisor-tool 配置文件重构),并强化了 GICR 处理。
代码架构优化: 重构了关键逻辑以降低模块间耦合性,主要包括:改进 mpidr 寄存器到 cpuid 的映射机制;优化串口寄存器基地址 (reg base addr) 的处理;重写了 hvisor-pt 初始化逻辑。
硬件平台适配修复: 解决了 hvisor 在 Xilinx Zynq UltraScale+MPSoC ZCU102 开发板上的配置文件问题。
持续集成完善: 进一步增强了 Github CI 测试的覆盖率和可靠性。
这些改进显著增强了 hvisor 的底层稳定性、可维护性和可扩展性,为后续功能演进与更广泛硬件平台部署奠定了坚实基础。
AArch64:QEMU virt、NXP i.MX8MP、ZCU102、RK3588/RK3568、Forlinx OK6254-C、Phytium-Pi
RISC-V:QEMU virt、Milk-V Megrez、SiFive P550、香山 FPGA
LoongArch:龙芯天创者 3A5000(7A2000 桥片)、天创者 3A6000(7A2000 桥片)主板
x86_64:QEMU virt、ASUS NUC14MNK(进行中)
📌 x86_64架构适配已基本完成,支持QEMU Virt平台,目前正在ASUS NUC上进行最终测试,预计下一版本正式发布。
支持的外设:
Virtio 系列:virtio-blk、virtio-net、virtio-console、virtio-gpu(仅QEMU)
串口:pl011、ns16550、imx-uart、xuartps 等
PCIe 设备直通、USB、SATA、Ethernet、GPU/HDMI、eMMC
未来版本将持续增强硬件适配与虚拟化能力,包括:
支持 Android、OpenHarmony 作为虚拟机 OS
支持在 x86_64 NUC 物理硬件上运行
支持 ARMv9、GICv4、IOMMU/PCIe 总线虚拟化
更完善的 GPU/NPU 直通
Web 管理工具与设备树配置工具
支持 NVIDIA Orin、Thor 以及树莓派 5 等平台
hvisor 项目主页:https://github.com/syswonder/hvisor
hvisor v0.2 release 主页:https://github.com/syswonder/hvisor/releases/tag/v0.2
hvisor 官方手册: https://hvisor.syswonder.org
Syswonder(矽望)社区主页:https://www.syswonder.org
作为一个开源项目,hvisor 的成长离不开开发者的参与。我们诚邀泛在操作系统社区的成员:
在各类国产平台上试用 hvisor v0.2
向 Github 仓库(https://github.com/syswonder/hvisor) 提交 反馈与PR
参与 Syswonder 社区的讨论与开发
共同推动国产虚拟化技术的发展。