Skip to content

Latest commit

 

History

History
129 lines (105 loc) · 6.9 KB

File metadata and controls

129 lines (105 loc) · 6.9 KB





CI

README:中文 | English

hvisor 是一个用 Rust 实现的 Type-1 裸机虚拟机监控器,采用分离内核(Separation Kernel)设计,提供高效的硬件资源虚拟化和隔离能力。该虚拟机监控器实现了严格的虚拟机环境分离,通过不同的区域(zone)确保虚拟化环境的性能和安全性。

特性

  • 分离内核设计:虚拟机被划分为三个区域:zone0(管理区)、zoneU(用户区)、zoneR(实时区),之间有严格的隔离。
  • 简洁轻量:该虚拟机监控器采用 Rust 实现,具有简洁的设计。
    • CPU 虚拟化:静态分区的物理 CPU(pCPUs),不进行动态调度。
    • 内存虚拟化:通过配置文件对虚拟机内存空间进行预分配。
    • I/O 虚拟化:支持设备直通和 virtio 半虚拟化。
  • 多平台支持:支持多种架构,包括 aarch64riscv64loongarch64x86_64
  • 虚拟机管理:虚拟机通过 zone0(root-linux)中的 Linux 环境进行管理,管理任务通过命令行工具 hvisor-tool 完成,提供创建、启动、停止和删除虚拟机的基本管理功能。
  • 形式化验证:部分 hvisor 代码正在使用 verus 工具进行形式化验证。

设备支持

类别 设备 支持架构 备注
Virtio 设备 virtio-blk aarch64, riscv64, loongarch64, x86_64
virtio-net aarch64, x86_64
virtio-console aarch64, riscv64, loongarch64, x86_64
virtio-gpu aarch64 仅支持 QEMU
串行设备/UARTs PL011 aarch64
imx-uart aarch64 NXP i.MX8MP
NS16550A loongarch64
xuartps aarch64 Xilinx Ultrascale+ MPSoC ZCU102
uart16550 aarch64 Rockchip RK3568/RK3588, Forlinx OK6254-C
uart16550a x86_64
中断控制器 GIC irq controller aarch64
7A2000 irq controller loongarch64
PLIC riscv64
AIA riscv64 仅支持 MSI 模式
APIC x86_64
设备直通(Zone0) All All
设备直通(ZoneU) PCIe aarch64, riscv64, loongarch64,x86_64
GPU / HDMI aarch64, loongarch64 NXP i.MX8MP, 3A6000
eMMC aarch64, riscv64 NXP i.MX8MP
USB aarch64,x86_64 NXP i.MX8MP
SATA riscv64, loongarch64,x86_64 megrez, 3A6000
Ethernet aarch64, riscv64, loongarch64,x86_64 NXP i.MX8MP, megrez, 3A6000

板卡支持

aarch64

  • QEMU virt aarch64
  • NXP i.MX8MP
  • Xilinx Ultrascale+ MPSoC ZCU102
  • Rockchip RK3588
  • Rockchip RK3568
  • Forlinx OK6254-C
  • Phytium Pi

riscv64

  • QEMU virt riscv64
  • Milk-V Megrez
  • Sifive Hifive Premier P550
  • dp-1000
  • FPGA 香山(昆明湖)on S2C Prodigy S7-19PS-2

loongarch64

  • Loongson 3A5000(7A2000 桥片)
  • Loongson 3A6000(7A2000 桥片)

x86_64

  • QEMU Q35
  • ASUS NUC14MNK
  • ECX-2300F-PEG

Guest OS 支持

  • Linux 6.13
  • Zephyr AArch64
  • Zephyr AArch32
  • RT-Thread
  • Android
  • OpenHarmony

开始使用

请参阅 hvisor 文档,获取所有支持平台的快速上手指南、构建和运行说明:hvisor 文档

路线图

已完成

  • 更新日志
  • 支持 USB zoneU 直通
  • 支持 PCIe 总线虚拟化

计划中

  • 支持 OpenHarmony
  • 支持 ARMv9
  • 支持 GICv4
  • 支持缓存着色
  • 支持 SR-IOV
  • 支持 NPU zoneU 直通
  • 支持 Nvidia GPU zoneU 直通
  • Web Management tool
  • 设备树配置工具
  • 支持 Nvidia Orin
  • 支持 Nvidia Thor
  • 支持 Raspberry Pi 5
  • 支持 IOMMU 虚拟化
  • 支持 时钟控制器 虚拟化
  • 支持 pinctrl 虚拟化
  • 支持无 zone0 启动 zoneU / zoneR

致谢

本项目的部分实现参考了 RVM1.5jailhouse