Skip to content

Commit d649d59

Browse files
Merge pull request #197 from syswonder/clk/dev
Update CHANGELOG for version 0.2 with new platform and feature…
2 parents 103a306 + 04f4e67 commit d649d59

File tree

3 files changed

+134
-51
lines changed

3 files changed

+134
-51
lines changed

CHANGELOG.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,31 @@
22

33
> ⚠️ Please update this file for any changes to the hvisor project along with your name and GitHub profile link under the CURRENT section.
44
5-
## CURRENT - v0.1.2
5+
## CURRENT - v0.2
6+
7+
- [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))
8+
- [platform] **riscv64**: Add support for SiFive HiFive Premier P550. ([Jingyu Liu](https://github.com/liulog))
9+
- [platform] **aarch64**: Add support for Phytium-Pi. ([Zixu Bao](https://github.com/Baozixu99))
10+
- [platform] **aarch64**: Improve QEMU GICv2/GICv3 configurations and add zone1-linux support. ([agicy](https://github.com/agicy))
11+
- [platform] **loongarch64**: Add support for Loongson 3A5 / 3A6 platforms and improve clock and trap handling. ([wheatfox](https://github.com/enkerewpo))
12+
- [feature] Add **aarch32** support. ([Guowei Li](https://github.com/KouweiLee))
13+
- [feature] **riscv64** enhancements: g-stage dynamic detection, eic770x_soc, and syscrg emulation. ([Jingyu Liu](https://github.com/liulog))
14+
- [infra] Unify UART / MPIDR mapping, centralize IOMMU configuration, remove redundant arch feature flags, and tidy Cargo/zone/hypercall code. ([Nehckl](https://github.com/Inquisitor-201), [Ren HangQi](https://github.com/ForeverYolo))
15+
- [infra/tool] **aarch64**: Optimized the structure of GIC parameters ([Ren HangQi](https://github.com/ForeverYolo))
16+
- [ci/misc] Update dependencies, add ccache support, and improve build/tooling workflows. ([Jingyu Liu](https://github.com/liulog))
17+
18+
## History Release
19+
20+
### hvisor v0.1.2
621

722
- [feature] riscv64: add virtio support in qemu-aia to boot zone1. ([CHonghao](https://github.com/CHonghaohao))
823
- [feature] pci support for loongarch64 ([wheatfox](https://github.com/enkerewpo), [Zhongkai Xu](https://github.com/ZhongkaiXu))
924
- [ci] support running CI with the latest hvisor-tool and the configuration files in hvisor ([CHonghao](https://github.com/CHonghaohao))
10-
- [feature] enable dynamic CPU detection for ARM platforms via device tree ([GuanTouYu](https://github.com/FlowerBlackG))
1125
- [platform] support for rk3568 ([dallasxy](https://github.com/dallasxy))
1226
- [feature] riscv64: add virtio support ([Jingyu Liu](https://github.com/liulog))
1327
- [feature] riscv64: add vplic struct ([Jingyu Liu](https://github.com/liulog))
1428
- [feature] riscv64: add aclint support ([Jingyu Liu](https://github.com/liulog))
1529

16-
## History Release
17-
1830
### hvisor v0.1.1
1931

2032
- [platform] seperate board definitions into `platform` folder with re-designed cargo feature system for hvisor ([wheatfox](https://github.com/enkerewpo))

README-zh.md

Lines changed: 58 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,28 @@ hvisor 是一个用 Rust 实现的 Type-1 裸机虚拟机监控器,采用分
3030

3131
## 设备支持
3232

33-
| **类别** | **设备** | **支持架构** | **备注 |
34-
| ------------------ | --------------------- | ----------------------------------- | ---------------------------------------- |
35-
| **Virtio 设备** | virtio-blk | `aarch64`, `riscv64` | |
36-
| | virtio-net | `aarch64` | |
37-
| | virtio-console | `aarch64`, `riscv64`, `loongarch64` | |
38-
| | virtio-gpu | `aarch64` | 仅支持 QEMU |
39-
| **串行设备/UARTs** | PL011 | `aarch64` | |
40-
| | imx-uart | `aarch64` | NXP i.MX8MP |
41-
| | NS16550A | `loongarch64` | |
42-
| | xuartps | `aarch64` | Xilinx Ultrascale+ MPSoC ZCU102 |
33+
| **类别** | **设备** | **支持架构** | **备注** |
34+
| ------------------ | --------------------- | ----------------------------------- | -------------------------------------- |
35+
| **Virtio 设备** | virtio-blk | `aarch64`, `riscv64`, `loongarch64` | |
36+
| | virtio-net | `aarch64` | |
37+
| | virtio-console | `aarch64`, `riscv64`, `loongarch64` | |
38+
| | virtio-gpu | `aarch64` | 仅支持 QEMU |
39+
| **串行设备/UARTs** | PL011 | `aarch64` | |
40+
| | imx-uart | `aarch64` | NXP i.MX8MP |
41+
| | NS16550A | `loongarch64` | |
42+
| | xuartps | `aarch64` | Xilinx Ultrascale+ MPSoC ZCU102 |
4343
| | uart16550 | `aarch64` | Rockchip RK3568/RK3588, Forlinx OK6254-C |
44-
| **中断控制器** | GIC irq controller | `aarch64` | |
45-
| | 7A2000 irq controller | `loongarch64` | |
46-
| | PLIC | `riscv64` | |
47-
| | AIA | `riscv64` | 仅支持 MSI 模式 |
48-
| **PCIe 直通** | PCIe | `aarch64`, `riscv64` | |
49-
| **GPU 直通** | GPU | `aarch64` | NXP i.MX8MP |
44+
| **中断控制器** | GIC irq controller | `aarch64` | |
45+
| | 7A2000 irq controller | `loongarch64` | |
46+
| | PLIC | `riscv64` | |
47+
| | AIA | `riscv64` | 仅支持 MSI 模式 |
48+
| **设备直通(Zone0)** | All | All | |
49+
| **设备直通(ZoneU)** | PCIe | `aarch64`, `riscv64`, `loongarch64` | 待测试 |
50+
| | GPU / HDMI | `aarch64`, `loongarch64` | NXP i.MX8MP, 3A6000 |
51+
| | eMMC | `aarch64`, `riscv64` | NXP i.MX8MP |
52+
| | USB | `aarch64` | NXP i.MX8MP |
53+
| | SATA | `riscv64`, `loongarch64` | megrez, 3A6000 |
54+
| | Ethernet | `aarch64`, `riscv64`, `loongarch64` | NXP i.MX8MP, megrez, 3A6000 |
5055

5156
## 板卡支持
5257

@@ -58,28 +63,59 @@ hvisor 是一个用 Rust 实现的 Type-1 裸机虚拟机监控器,采用分
5863
- [x] Rockchip RK3588
5964
- [x] Rockchip RK3568
6065
- [x] Forlinx OK6254-C
66+
- [x] Phytium Pi
6167

6268
### riscv64
6369

6470
- [x] QEMU virt riscv64
6571
- [x] Milk-V Megrez
6672
- [x] Sifive Hifive Premier P550
6773
- [ ] FPGA 香山(昆明湖)on S2C Prodigy S7-19PS-2
68-
- [ ] FPGA RocketChip on Xilinx Ultrascale+ MPSoC ZCU102
6974

7075
### loongarch64
7176

72-
- [x] Loongson 3A5000+7A2000
73-
- [ ] Loongson 3A6000
77+
- [x] Loongson 3A5000(7A2000 桥片)
78+
- [x] Loongson 3A6000(7A2000 桥片)
79+
80+
### x86_64
81+
82+
- [ ] QEMU virt x86_64
83+
- [ ] ASUS NUC14MNK
84+
85+
## Guest OS 支持
86+
87+
- [x] Linux 6.13
88+
- [x] Zephyr AArch64
89+
- [x] Zephyr AArch32
90+
- [x] RT-Thread
91+
- [ ] Android
92+
- [ ] OpenHarmony
7493

7594
## 开始使用
7695

77-
请参阅 hvisor 文档中的 **《hvisor 快速上手指南》**,了解所有支持平台的构建和运行教程[hvisor 文档](https://hvisor.syswonder.org/)
96+
请参阅 hvisor 文档,获取所有支持平台的快速上手指南、构建和运行说明[hvisor 文档](https://hvisor.syswonder.org/)
7897

7998
## 路线图
8099

81-
- 支持在 NXP i.MX8MP 硬件平台上实现 Android nonroot
82-
- 支持在 `x86_64` 架构上运行 hvisor
100+
- 支持 `x86_64` 架构
101+
- 支持 Android
102+
- 支持 OpenHarmony
103+
- 支持 ARMv9
104+
- 支持 GICv4
105+
- 支持缓存着色
106+
- 支持 SR-IOV
107+
- 支持 USB / NPU zoneU 直通
108+
- 支持 Nvidia GPU zoneU 直通
109+
- Web Management tool
110+
- 设备树配置工具
111+
- 支持 Nvidia Orin
112+
- 支持 Nvidia Thor
113+
- 支持 Raspberry Pi 5
114+
- 支持 IOMMU 虚拟化
115+
- 支持 PCIe 总线虚拟化
116+
- 支持 时钟控制器 虚拟化
117+
- 支持 pinctrl 虚拟化
118+
- 支持无 zone0 启动 zoneU / zoneR
83119

84120
## 致谢
85121

README.md

Lines changed: 60 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
<img src="https://img.shields.io/github/languages/code-size/syswonder/hvisor?color=green">
1010
<img src="https://img.shields.io/github/repo-size/syswonder/hvisor?color=white">
1111
<img src="https://img.shields.io/github/languages/top/syswonder/hvisor?color=orange">
12-
<img src="https://img.shields.io/github/stars/syswonder/hvisor?color=yellow" />
1312
<br><br>
1413
</p>
1514

@@ -20,7 +19,7 @@ hvisor is a Type-1 bare-metal virtual machine monitor implemented in Rust, featu
2019
## Features
2120

2221
- **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.
23-
- **Simple and Lightweight**: hvisor is implemented in Rust with a minimal design.
22+
- **Simple and Lightweight**: Implemented in Rust with a minimal design.
2423
- CPU Virtualization: Static partitioning of physical CPUs (pCPUs), without dynamic scheduling.
2524
- Memory Virtualization: Pre-allocated virtual machine memory space via configuration files.
2625
- I/O Virtualization: Supports device passthrough and virtio paravirtualization.
@@ -30,23 +29,28 @@ hvisor is a Type-1 bare-metal virtual machine monitor implemented in Rust, featu
3029

3130
## Device Support
3231

33-
| **Category** | **Device** | **Supported Architectures** | **Notes** |
34-
| ------------------------- | --------------------- | ------------------------------------ | ---------------------------------------- |
35-
| **Virtio Devices** | virtio-blk | `aarch64`, `riscv64`, `loongarch64` | |
36-
| | virtio-net | `aarch64` | |
37-
| | virtio-console | `aarch64`, `riscv64`, `loongarch64` | |
38-
| | virtio-gpu | `aarch64` | Only supports QEMU |
39-
| **Serial Devices/UARTs** | PL011 | `aarch64` | |
40-
| | imx-uart | `aarch64` | NXP i.MX8MP |
41-
| | NS16550A | `loongarch64` | |
42-
| | xuartps | `aarch64` | Xilinx Ultrascale+ MPSoC ZCU102 |
43-
| | uart16550 | `aarch64` | Rockchip RK3568/RK3588, Forlinx OK6254-C |
44-
| **Interrupt Controllers** | GIC irq controller | `aarch64` | |
45-
| | 7A2000 irq controller | `loongarch64` | |
46-
| | PLIC | `riscv64` | |
47-
| | AIA | `riscv64` | Only supports MSI mode |
48-
| **PCIe Passthrough** | PCIe | `aarch64`, `riscv64`, `loongarch64` | |
49-
| **GPU Passthrough** | GPU | `aarch64` | NXP i.MX8MP |
32+
| **Category** | **Device** | **Supported Architectures** | **Notes** |
33+
|----------------------------------|------------------------|---------------------------------------|----------------------------------------|
34+
| **Virtio Devices** | virtio-blk | `aarch64`, `riscv64`, `loongarch64` | |
35+
| | virtio-net | `aarch64` | |
36+
| | virtio-console | `aarch64`, `riscv64`, `loongarch64` | |
37+
| | virtio-gpu | `aarch64` | QEMU only |
38+
| **Serial Devices/UARTs** | PL011 | `aarch64` | |
39+
| | imx-uart | `aarch64` | NXP i.MX8MP |
40+
| | NS16550A | `loongarch64` | |
41+
| | xuartps | `aarch64` | Xilinx Ultrascale+ MPSoC ZCU102 |
42+
| | uart16550 | `aarch64` | Rockchip RK3568/RK3588, Forlinx OK6254-C|
43+
| **Interrupt Controllers** | GIC irq controller | `aarch64` | |
44+
| | 7A2000 irq controller | `loongarch64` | |
45+
| | PLIC | `riscv64` | |
46+
| | AIA | `riscv64` | MSI mode only |
47+
| **Device Passthrough(Zone0)** | All | All | |
48+
| **Device Passthrough(ZoneU)** | PCIe | `aarch64`, `riscv64`, `loongarch64` | Testing needed |
49+
| | GPU / HDMI | `aarch64`, `loongarch64` | NXP i.MX8MP, 3A6000 |
50+
| | eMMC | `aarch64`, `riscv64` | NXP i.MX8MP |
51+
| | USB | `aarch64` | NXP i.MX8MP |
52+
| | SATA | `riscv64`, `loongarch64` | megrez, 3A6000 |
53+
| | Ethernet | `aarch64`, `riscv64`, `loongarch64` | NXP i.MX8MP, megrez, 3A6000 |
5054

5155
## Supported Boards
5256

@@ -58,29 +62,60 @@ hvisor is a Type-1 bare-metal virtual machine monitor implemented in Rust, featu
5862
- [x] Rockchip RK3588
5963
- [x] Rockchip RK3568
6064
- [x] Forlinx OK6254-C
65+
- [x] Phytium Pi
6166

6267
### riscv64
6368

6469
- [x] QEMU virt riscv64
65-
- [x] Milk-V Megrez
70+
- [x] Milk-V Megrez
6671
- [x] Sifive Hifive Premier P550
6772
- [ ] FPGA XiangShan(KunMingHu) on S2C Prodigy S7-19PS-2
68-
- [ ] FPGA RocketChip on Xilinx Ultrascale+ MPSoC ZCU102
6973

7074
### loongarch64
7175

7276
- [x] Loongson 3A5000 (7A2000 bridge chip)
7377
- [x] Loongson 3A6000 (7A2000 bridge chip)
7478

79+
### x86_64
80+
81+
- [ ] QEMU virt x86_64
82+
- [ ] ASUS NUC14MNK
83+
84+
## Supported Guest OS
85+
86+
- [x] Linux 6.13
87+
- [x] Zephyr AArch64
88+
- [x] Zephyr AArch32
89+
- [x] RT-Thread
90+
- [ ] Android
91+
- [ ] OpenHarmony
92+
7593
## Getting Started
7694

77-
Please refer to the hvisor documentation for the quick start guide, which includes build and run instructions for all supported platforms: [hvisor Documentation](https://hvisor.syswonder.org/)
95+
Please refer to the hvisor documentation for quick start guides, build and run instructions for all supported platforms: [hvisor Documentation](https://hvisor.syswonder.org/)
7896

7997
## Roadmap
8098

81-
- Support for Android non-root on the NXP i.MX8MP hardware platform
82-
- Support for running hvisor on the `x86_64` architecture
99+
- Support for `x86_64` architecture
100+
- Support for Android
101+
- Support for OpenHarmony
102+
- Support for ARMv9
103+
- Support for GICv4
104+
- Support for Cache Coloring
105+
- Support for SR-IOV
106+
- Support for USB / NPU zoneU passthrough
107+
- Support for Nvidia GPU zoneU passthrough
108+
- Web Management tool
109+
- Device Tree configuration tool
110+
- Support for Nvidia Orin
111+
- Support for Nvidia Thor
112+
- Support for Raspberry Pi 5
113+
- Support for IOMMU virtualization
114+
- Support for PCIe bus virtualization
115+
- Support for Clock Controller virtualization
116+
- Support for pinctrl virtualization
117+
- Support for booting zoneU / zoneR without zone0
83118

84119
## Acknowledgments
85120

86-
Some implementations of this project reference [RVM1.5](https://github.com/rcore-os/RVM1.5) and [jailhouse](https://github.com/siemens/jailhouse).
121+
Some implementations of this project reference [RVM1.5](https://github.com/rcore-os/RVM1.5) and [jailhouse](https://github.com/siemens/jailhouse).

0 commit comments

Comments
 (0)