diff --git a/CHANGELOG.md b/CHANGELOG.md index b5feeac9..cb49748d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,29 @@ > ⚠️ Please update this file for any changes to the hvisor project along with your name and GitHub profile link under the CURRENT section. -## CURRENT - v0.2 +## CURRENT - v0.4 + +- [platform] **x86**: Add support for ECX-2300F-PEG. ([Tianhong Liu](https://github.com/Solicey)) +- [platform] **riscv64**: Add support for dp-1000. ([Jingyu Liu](https://github.com/liulog)) +- [feature] **PCIe**: Add support for ecam/dwc/loongarch PCIe. ([Xingyu Chen](https://github.com/dallasxy)) +- [feature] Improve store style of interrupt. ([agicy](https://github.com/agicy)) +- [feature] Clarify hvisor memory layout. ([agicy](https://github.com/agicy)) +- [feature] **riscv64**: support logical cpu id for riscv ([Jingyu Liu](https://github.com/liulog)) +- [refactor] Improve per_cpu struct. ([Xinhao Li](https://github.com/li041)) +- [bugfix] Corrupted cpuid retrieved by boot_cpuid_get in Release mode. ([Xinhao Li](https://github.com/li041)) +- [bugfix] **aarch64**: Add support for cmd MOVI. ([Zhongkai Xu](https://github.com/ZhongkaiXu)) +- [bugfix] **virtio**: Slove the race conditions caused by spinlock. ([Jingyu Liu](https://github.com/liulog)) +- [ci] Update dependencies, add ccache support, and improve build/tooling workflows. ([Xingyu Chen](https://github.com/dallasxy),[Jingyu Liu](https://github.com/liulog),[wheatfox](https://github.com/enkerewpo)) + + +## History Release + +## hvisor - v0.3 + +- [platform] **x86**: Added comprehensive support for the x86_64 architecture. ([Tianhong Liu](https://github.com/Solicey)) +- [bugfix] **aarch64**: IOMMU & ITS Improvements ([Zhongkai Xu](https://github.com/ZhongkaiXu)) + +## hvisor - v0.2 - [platform] **riscv64**: Add support for Megrez / Milk-V platforms (zone0/zone1 boot, uart2, virtio, Ethernet, SATA passthrough, NPU, updated device-tree). ([Jingyu Liu](https://github.com/liulog)) - [platform] **riscv64**: Add support for SiFive HiFive Premier P550. ([Jingyu Liu](https://github.com/liulog)) @@ -15,14 +37,12 @@ - [infra/tool] **aarch64**: Optimized the structure of GIC parameters ([Ren HangQi](https://github.com/ForeverYolo)) - [ci/misc] Update dependencies, add ccache support, and improve build/tooling workflows. ([Jingyu Liu](https://github.com/liulog)) -## History Release - ### hvisor v0.1.2 - [feature] riscv64: add virtio support in qemu-aia to boot zone1. ([CHonghao](https://github.com/CHonghaohao)) - [feature] pci support for loongarch64 ([wheatfox](https://github.com/enkerewpo), [Zhongkai Xu](https://github.com/ZhongkaiXu)) - [ci] support running CI with the latest hvisor-tool and the configuration files in hvisor ([CHonghao](https://github.com/CHonghaohao)) -- [platform] support for rk3568 ([dallasxy](https://github.com/dallasxy)) +- [platform] support for rk3568 ([Xingyu Chen](https://github.com/dallasxy)) - [feature] riscv64: add virtio support ([Jingyu Liu](https://github.com/liulog)) - [feature] riscv64: add vplic struct ([Jingyu Liu](https://github.com/liulog)) - [feature] riscv64: add aclint support ([Jingyu Liu](https://github.com/liulog)) @@ -35,11 +55,11 @@ - [platform] architecture officially supported: riscv64, loongarch64 ([Jingyu Liu](https://github.com/liulog), [wheatfox](https://github.com/enkerewpo)) - [tool] adapting hvisor-tool virtio-gpu, virtio-console ([KouweiLee](https://github.com/KouweiLee), [Roxy](https://github.com/Misaka19986), [wheatfox](https://github.com/enkerewpo)) -- [bugfix] refactor aarch64 pagetable code ([dallasxy](https://github.com/dallasxy)) +- [bugfix] refactor aarch64 pagetable code ([Xingyu Chen](https://github.com/dallasxy)) - [platform] Xilinx Ultrascale+ ZCU102 PS processor support ([Ren HangQi](https://github.com/ForeverYolo)) - [platform] Loongson 3A5000+7A2000 support ([wheatfox](https://github.com/enkerewpo), [BoneInscri](https://github.com/BoneInscri)) - [feature] SMMUv3 support ([Zhongkai Xu](https://github.com/ZhongkaiXu)) -- [feature] PCIe support ([Zhongkai Xu](https://github.com/ZhongkaiXu), [dallasxy](https://github.com/dallasxy), [Ren HangQi](https://github.com/ForeverYolo)) +- [feature] PCIe support ([Zhongkai Xu](https://github.com/ZhongkaiXu), [Xingyu Chen](https://github.com/dallasxy), [Ren HangQi](https://github.com/ForeverYolo)) - [feature] network interface card support ([Ren HangQi](https://github.com/ForeverYolo)) - [feature] riscv64: IOMMU support ([Jingyu Liu](https://github.com/liulog)) - [feature] aarch64: GICv2 support ([Ren HangQi](https://github.com/ForeverYolo)) diff --git a/README-zh.md b/README-zh.md index d439854f..828028d4 100644 --- a/README-zh.md +++ b/README-zh.md @@ -48,11 +48,11 @@ hvisor 是一个用 Rust 实现的 Type-1 裸机虚拟机监控器,采用分 | | AIA | `riscv64` | 仅支持 MSI 模式 | | | APIC | `x86_64` | | | **设备直通(Zone0)** | All | All | | -| **设备直通(ZoneU)** | PCIe | `aarch64`, `riscv64`, `loongarch64`,`x86_64` | 待测试 | -| | GPU / HDMI | `aarch64`, `loongarch64` | NXP i.MX8MP, 3A6000 | +| **设备直通(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 | +| | 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 | ## 板卡支持 @@ -72,6 +72,7 @@ hvisor 是一个用 Rust 实现的 Type-1 裸机虚拟机监控器,采用分 - [x] QEMU virt riscv64 - [x] Milk-V Megrez - [x] Sifive Hifive Premier P550 +- [x] dp-1000 - [ ] FPGA 香山(昆明湖)on S2C Prodigy S7-19PS-2 ### loongarch64 @@ -83,6 +84,7 @@ hvisor 是一个用 Rust 实现的 Type-1 裸机虚拟机监控器,采用分 - [x] QEMU Q35 - [x] ASUS NUC14MNK +- [x] ECX-2300F-PEG ## Guest OS 支持 @@ -99,13 +101,19 @@ hvisor 是一个用 Rust 实现的 Type-1 裸机虚拟机监控器,采用分 ## 路线图 +### 已完成 +- [更新日志](./CHANGELOG.md) +- 支持 USB zoneU 直通 +- 支持 PCIe 总线虚拟化 + +### 计划中 - 支持 Android - 支持 OpenHarmony - 支持 ARMv9 - 支持 GICv4 - 支持缓存着色 - 支持 SR-IOV -- 支持 USB / NPU zoneU 直通 +- 支持 NPU zoneU 直通 - 支持 Nvidia GPU zoneU 直通 - Web Management tool - 设备树配置工具 @@ -113,7 +121,6 @@ hvisor 是一个用 Rust 实现的 Type-1 裸机虚拟机监控器,采用分 - 支持 Nvidia Thor - 支持 Raspberry Pi 5 - 支持 IOMMU 虚拟化 -- 支持 PCIe 总线虚拟化 - 支持 时钟控制器 虚拟化 - 支持 pinctrl 虚拟化 - 支持无 zone0 启动 zoneU / zoneR diff --git a/README.md b/README.md index 76670b72..dd0c9f6a 100644 --- a/README.md +++ b/README.md @@ -47,11 +47,11 @@ hvisor is a Type-1 bare-metal virtual machine monitor implemented in Rust, featu | | AIA | `riscv64` | MSI mode only | | | APIC | `x86_64` | | | **Device Passthrough(Zone0)** | All | All | | -| **Device Passthrough(ZoneU)** | PCIe | `aarch64`, `riscv64`, `loongarch64`,`x86_64` | Testing needed | +| **Device Passthrough(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 | +| | 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 | ## Supported Boards @@ -71,6 +71,7 @@ hvisor is a Type-1 bare-metal virtual machine monitor implemented in Rust, featu - [x] QEMU virt riscv64 - [x] Milk-V Megrez - [x] Sifive Hifive Premier P550 +- [x] dp-1000 - [ ] FPGA XiangShan(KunMingHu) on S2C Prodigy S7-19PS-2 ### loongarch64 @@ -82,6 +83,7 @@ hvisor is a Type-1 bare-metal virtual machine monitor implemented in Rust, featu - [x] QEMU Q35 - [x] ASUS NUC14MNK +- [x] ECX-2300F-PEG ## Supported Guest OS @@ -97,14 +99,19 @@ hvisor is a Type-1 bare-metal virtual machine monitor implemented in Rust, featu Please refer to the hvisor documentation for quick start guides, build and run instructions for all supported platforms: [hvisor Documentation](https://hvisor.syswonder.org/) ## Roadmap +### Completed +- [CHANGELOG](./CHANGELOG.md) +- Support for USB zoneU passthrough +- Support for PCIe bus virtualization +### Planned - Support for Android - Support for OpenHarmony - Support for ARMv9 - Support for GICv4 - Support for Cache Coloring - Support for SR-IOV -- Support for USB / NPU zoneU passthrough +- Support for NPU zoneU passthrough - Support for Nvidia GPU zoneU passthrough - Web Management tool - Device Tree configuration tool @@ -112,7 +119,6 @@ Please refer to the hvisor documentation for quick start guides, build and run i - Support for Nvidia Thor - Support for Raspberry Pi 5 - Support for IOMMU virtualization -- Support for PCIe bus virtualization - Support for Clock Controller virtualization - Support for pinctrl virtualization - Support for booting zoneU / zoneR without zone0