From ca82ffa1c8c63dca7ab97186c1c675a8b868e903 Mon Sep 17 00:00:00 2001 From: Solicey Date: Tue, 21 Oct 2025 15:20:46 +0800 Subject: [PATCH 1/2] update README for v0.3 release --- README-zh.md | 53 ++++++++++++++++++++++++++-------------------------- README.md | 53 ++++++++++++++++++++++++++-------------------------- 2 files changed, 54 insertions(+), 52 deletions(-) diff --git a/README-zh.md b/README-zh.md index 45c0c6ed..50f567e4 100644 --- a/README-zh.md +++ b/README-zh.md @@ -24,34 +24,36 @@ hvisor 是一个用 Rust 实现的 Type-1 裸机虚拟机监控器,采用分 - CPU 虚拟化:静态分区的物理 CPU(pCPUs),不进行动态调度。 - 内存虚拟化:通过配置文件对虚拟机内存空间进行预分配。 - I/O 虚拟化:支持设备直通和 virtio 半虚拟化。 -- **多平台支持**:支持多种架构,包括 `aarch64`、`riscv64` 和 `loongarch64`。 +- **多平台支持**:支持多种架构,包括 `aarch64`、`riscv64`、`loongarch64` 和 `x86_64`。 - **虚拟机管理**:虚拟机通过 zone0(root-linux)中的 Linux 环境进行管理,管理任务通过命令行工具 [hvisor-tool](https://github.com/syswonder/hvisor-tool) 完成,提供创建、启动、停止和删除虚拟机的基本管理功能。 - **形式化验证**:部分 hvisor 代码正在使用 [verus](https://github.com/verus-lang/verus) 工具进行形式化验证。 ## 设备支持 -| **类别** | **设备** | **支持架构** | **备注** | -| ------------------ | --------------------- | ----------------------------------- | -------------------------------------- | -| **Virtio 设备** | virtio-blk | `aarch64`, `riscv64`, `loongarch64` | | -| | virtio-net | `aarch64` | | -| | virtio-console | `aarch64`, `riscv64`, `loongarch64` | | -| | 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 | -| **中断控制器** | GIC irq controller | `aarch64` | | -| | 7A2000 irq controller | `loongarch64` | | -| | PLIC | `riscv64` | | -| | AIA | `riscv64` | 仅支持 MSI 模式 | -| **设备直通(Zone0)** | All | All | | -| **设备直通(ZoneU)** | PCIe | `aarch64`, `riscv64`, `loongarch64` | 待测试 | -| | GPU / HDMI | `aarch64`, `loongarch64` | NXP i.MX8MP, 3A6000 | -| | eMMC | `aarch64`, `riscv64` | NXP i.MX8MP | -| | USB | `aarch64` | NXP i.MX8MP | -| | SATA | `riscv64`, `loongarch64` | megrez, 3A6000 | -| | Ethernet | `aarch64`, `riscv64`, `loongarch64` | NXP i.MX8MP, megrez, 3A6000 | +| **类别** | **设备** | **支持架构** | **备注** | +| ------------------ | --------------------- | --------------------------------------------- | -------------------------------------- | +| **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` | NXP i.MX8MP | +| | SATA | `riscv64`, `loongarch64` | megrez, 3A6000 | +| | Ethernet | `aarch64`, `riscv64`, `loongarch64`,`x86_64` | NXP i.MX8MP, megrez, 3A6000 | ## 板卡支持 @@ -79,8 +81,8 @@ hvisor 是一个用 Rust 实现的 Type-1 裸机虚拟机监控器,采用分 ### x86_64 -- [ ] QEMU virt x86_64 -- [ ] ASUS NUC14MNK +- [x] QEMU virt x86_64 +- [x] ASUS NUC14MNK ## Guest OS 支持 @@ -97,7 +99,6 @@ hvisor 是一个用 Rust 实现的 Type-1 裸机虚拟机监控器,采用分 ## 路线图 -- 支持 `x86_64` 架构 - 支持 Android - 支持 OpenHarmony - 支持 ARMv9 diff --git a/README.md b/README.md index 4ff31974..76670b72 100644 --- a/README.md +++ b/README.md @@ -23,34 +23,36 @@ hvisor is a Type-1 bare-metal virtual machine monitor implemented in Rust, featu - 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`. +- **Multi-platform Support**: Supports various architectures, including `aarch64`, `riscv64`, `loongarch64` and `x86_64`. - **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](https://github.com/syswonder/hvisor-tool). - **Formal Verification**: Part of the hvisor code is undergoing formal verification using the [verus](https://github.com/verus-lang/verus) tool. ## Device Support -| **Category** | **Device** | **Supported Architectures** | **Notes** | -|----------------------------------|------------------------|---------------------------------------|----------------------------------------| -| **Virtio Devices** | virtio-blk | `aarch64`, `riscv64`, `loongarch64` | | -| | virtio-net | `aarch64` | | -| | virtio-console | `aarch64`, `riscv64`, `loongarch64` | | -| | virtio-gpu | `aarch64` | QEMU only | -| **Serial Devices/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| -| **Interrupt Controllers** | GIC irq controller | `aarch64` | | -| | 7A2000 irq controller | `loongarch64` | | -| | PLIC | `riscv64` | | -| | AIA | `riscv64` | MSI mode only | -| **Device Passthrough(Zone0)** | All | All | | -| **Device Passthrough(ZoneU)** | PCIe | `aarch64`, `riscv64`, `loongarch64` | Testing needed | -| | GPU / HDMI | `aarch64`, `loongarch64` | NXP i.MX8MP, 3A6000 | -| | eMMC | `aarch64`, `riscv64` | NXP i.MX8MP | -| | USB | `aarch64` | NXP i.MX8MP | -| | SATA | `riscv64`, `loongarch64` | megrez, 3A6000 | -| | Ethernet | `aarch64`, `riscv64`, `loongarch64` | NXP i.MX8MP, megrez, 3A6000 | +| **Category** | **Device** | **Supported Architectures** | **Notes** | +|----------------------------------|------------------------|----------------------------------------------|----------------------------------------| +| **Virtio Devices** | virtio-blk | `aarch64`, `riscv64`, `loongarch64`,`x86_64` | | +| | virtio-net | `aarch64`,`x86_64` | | +| | virtio-console | `aarch64`, `riscv64`, `loongarch64`,`x86_64` | | +| | virtio-gpu | `aarch64` | QEMU only | +| **Serial Devices/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` | | +| **Interrupt Controllers** | GIC irq controller | `aarch64` | | +| | 7A2000 irq controller | `loongarch64` | | +| | PLIC | `riscv64` | | +| | AIA | `riscv64` | MSI mode only | +| | APIC | `x86_64` | | +| **Device Passthrough(Zone0)** | All | All | | +| **Device Passthrough(ZoneU)** | PCIe | `aarch64`, `riscv64`, `loongarch64`,`x86_64` | Testing needed | +| | GPU / HDMI | `aarch64`, `loongarch64` | NXP i.MX8MP, 3A6000 | +| | eMMC | `aarch64`, `riscv64` | NXP i.MX8MP | +| | USB | `aarch64` | NXP i.MX8MP | +| | SATA | `riscv64`, `loongarch64` | megrez, 3A6000 | +| | Ethernet | `aarch64`, `riscv64`, `loongarch64`,`x86_64` | NXP i.MX8MP, megrez, 3A6000 | ## Supported Boards @@ -78,8 +80,8 @@ hvisor is a Type-1 bare-metal virtual machine monitor implemented in Rust, featu ### x86_64 -- [ ] QEMU virt x86_64 -- [ ] ASUS NUC14MNK +- [x] QEMU Q35 +- [x] ASUS NUC14MNK ## Supported Guest OS @@ -96,7 +98,6 @@ Please refer to the hvisor documentation for quick start guides, build and run i ## Roadmap -- Support for `x86_64` architecture - Support for Android - Support for OpenHarmony - Support for ARMv9 From 9484c922391e0ba8f2b3991c6ac93137f6f94a6c Mon Sep 17 00:00:00 2001 From: Solicey Date: Tue, 21 Oct 2025 15:23:40 +0800 Subject: [PATCH 2/2] tiny fix --- README-zh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-zh.md b/README-zh.md index 50f567e4..d439854f 100644 --- a/README-zh.md +++ b/README-zh.md @@ -81,7 +81,7 @@ hvisor 是一个用 Rust 实现的 Type-1 裸机虚拟机监控器,采用分 ### x86_64 -- [x] QEMU virt x86_64 +- [x] QEMU Q35 - [x] ASUS NUC14MNK ## Guest OS 支持