目录
目录README.md







README: 中文 | English

hvisor is a Type-1 bare-metal virtual machine monitor implemented in Rust, featuring a separation kernel design to provide efficient hardware resource virtualization and isolation. This virtual machine monitor allows strict system environment separation, ensuring performance and security of the virtualized environments through distinct regions.

Features

  • Separation Kernel Design: The virtual machine is divided into three regions: zone0 (management zone), zoneU (user zone), and zoneR (real-time zone), with strict isolation between them.
  • Simple and Lightweight: hvisor is implemented in Rust with a minimal design.
    • CPU Virtualization: Static partitioning of physical CPUs (pCPUs), without dynamic scheduling.
    • Memory Virtualization: Pre-allocated virtual machine memory space via configuration files.
    • I/O Virtualization: Supports device passthrough and virtio paravirtualization.
  • Multi-platform Support: Supports various architectures, including aarch64, riscv64, and loongarch64.
  • Virtual Machine Management: Virtual machines are managed through a Linux environment in zone0 (root-linux), with basic management tasks (create, start, stop, delete) handled via the command-line tool hvisor-tool.
  • Formal Verification: Part of the hvisor code is undergoing formal verification using the verus tool.

Device Support

Category Device Supported Architectures Notes
Virtio Devices virtio-blk aarch64
virtio-net aarch64
virtio-console aarch64, loongarch64
virtio-gpu aarch64 Only supports QEMU
Serial Devices/UARTs PL011 aarch64
imx-uart aarch64 NXP i.MX8MP
NS16550A loongarch64
xuartps aarch64 Xilinx Ultrascale+ MPSoC ZCU102
Interrupt Controllers GIC irq controller aarch64
7A2000 irq controller loongarch64
PLIC riscv64
AIA-APIC riscv64 Only supports MSI mode
PCIe Passthrough PCIe aarch64, riscv
GPU Passthrough GPU aarch64 NXP i.MX8MP

Supported Boards

aarch64

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

riscv64

  • QEMU virt riscv64
  • FPGA XiangShan(KunMingHu) on S2C Prodigy S7-19PS-2
  • FPGA RocketChip on Xilinx Ultrascale+ MPSoC ZCU102

loongarch64

  • Loongson 3A5000 and 7A2000 bridge chip
  • Loongson 3A6000

Getting Started

Please refer to the hvisor documentation for the quick start guide, which includes build and run instructions for all supported platforms: hvisor Documentation

Roadmap

  • Support for Android non-root on the NXP i.MX8MP hardware platform
  • Support for running hvisor on the x86_64 architecture

Acknowledgments

Some implementations of this project reference RVM1.5 and jailhouse.

关于

a rust hypervisor for mission critical edge systems

77.8 MB
邀请码