Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
2978aaa
success run
ZZJJWarth Jan 8, 2026
0688fb8
now we complete the commoncfg
ZZJJWarth Jan 8, 2026
08b7a98
add bar handler distribution logic
ZZJJWarth Jan 9, 2026
d06f0b7
complete the logic distributing from mmio to specific dyn AreaInBar
ZZJJWarth Jan 10, 2026
ee0cd94
save
ZZJJWarth Jan 15, 2026
f32eb9d
add msix capability
ZZJJWarth Jan 26, 2026
74770ec
save
ZZJJWarth Mar 4, 2026
320b36d
add msix support for virtio pci
ZZJJWarth Mar 5, 2026
d9659bf
virtio pci prototype
ZZJJWarth Mar 23, 2026
c1a7487
add virtio pci support
ZZJJWarth Mar 28, 2026
c1c8cda
Merge branch 'dev' of https://github.com/syswonder/hvisor into polish…
ZZJJWarth Mar 28, 2026
dc37af3
merge virtio pci to current dev
ZZJJWarth Mar 28, 2026
f04288c
code polish completed
ZZJJWarth Apr 6, 2026
4906d50
Merge branch 'dev' of https://github.com/syswonder/hvisor into polish…
ZZJJWarth Apr 6, 2026
69129c0
save
ZZJJWarth Apr 7, 2026
eaf6544
save
ZZJJWarth Apr 7, 2026
25b26bf
save
ZZJJWarth Apr 7, 2026
b9b7174
save
ZZJJWarth Apr 8, 2026
a1cbea3
fmt
ZZJJWarth Apr 8, 2026
825f3ee
add virtio pci related irq number for all arch
ZZJJWarth Apr 8, 2026
cf91247
fix test error
ZZJJWarth Apr 8, 2026
5bf095f
add license info
ZZJJWarth Apr 8, 2026
5d8d32b
save
ZZJJWarth Apr 18, 2026
763eea7
try to add PCIRegion into virtio pci dev
ZZJJWarth Apr 19, 2026
11b945f
fix read bug
ZZJJWarth Apr 19, 2026
786e55d
feat: add MSI-X backend support and refactor vpci_dev
ZZJJWarth Apr 20, 2026
deec962
Merge branch 'dev' of github.com:syswonder/hvisor into arch_sp
ZZJJWarth Apr 20, 2026
7719f1b
remove unnecessary modification
ZZJJWarth Apr 20, 2026
620b5f5
return none in get_arch_msix_backend to allow non gicv3 build error
ZZJJWarth Apr 20, 2026
0700e1e
add licence info to new file, do fmt, add necessary irqid
ZZJJWarth Apr 20, 2026
b0d5d30
change dummy virtio pci relative irq number in riscv
ZZJJWarth Apr 20, 2026
0940d47
xMerge branch 'dev' of github.com:syswonder/hvisor into arch_sp_polish
ZZJJWarth Apr 20, 2026
a219e4b
fix: fix a IPI_EVENT id overlapping caused by Virtio-PCI
ZZJJWarth Apr 28, 2026
b6bf980
Merge branch 'dev' of github.com:syswonder/hvisor into arch_sp_polish
ZZJJWarth Apr 28, 2026
c5bbf54
refactor: scope virtio-pci support to validated platforms
ZZJJWarth May 5, 2026
9ef2f9f
fix: align virtio-pci common cfg and ISR behavior
ZZJJWarth May 6, 2026
b88a1fb
make fmy
ZZJJWarth May 6, 2026
88a76c1
fix: add queue size as a necessary information in Virtio PCI bridge
ZZJJWarth May 11, 2026
a61d8e2
update ci (#302)
dallasxy May 11, 2026
13ead50
ci: add license check and format check in github server (#306)
dallasxy May 12, 2026
34f0175
feat: extend vcpu state (#303)
liulog May 12, 2026
3f4cb8a
Merge branch 'dev' of github.com:syswonder/hvisor into arch_sp_polish
ZZJJWarth May 13, 2026
eae2742
Fix corrupted boot args `dtbaddr` for `rust_main` in release mode
li041 May 13, 2026
12a3ac5
Add necessary barriers(`isb`/`dsb`) for aarch64 early boot
li041 May 18, 2026
1884b41
Refine early boot assembly for aarch64
Inquisitor-201 May 19, 2026
6aeef90
- add some timeout handler when waiting for virtio pci config
ZZJJWarth May 19, 2026
ead2cd3
- make virtio pci only use one hypercall
ZZJJWarth May 19, 2026
9034e3c
feat: detect and diagnose hvisor memory region overlap with root zone
Inquisitor-201 May 19, 2026
2c85c41
fix: exclude hvisor memory range from root zone RAM regions for rk356…
Inquisitor-201 May 19, 2026
0289aa3
Merge branch 'dev' of github.com:syswonder/hvisor into virtio-pci-blk
ZZJJWarth May 20, 2026
fa50f21
- add virtio blk device into virtio pci frame
ZZJJWarth May 20, 2026
5833c3d
- remove unnecessary code in pci_struct.rs
ZZJJWarth May 20, 2026
4616bcc
Merge pull request #311 from syswonder/fix/memory-overlap-detection
Inquisitor-201 May 24, 2026
2c0f267
docs: add AGENTS.md and CLAUDE.md for AI coding agents
Inquisitor-201 May 26, 2026
1b72cd8
fix(aarch64): use dc civac instead of dc ivac in invalidate_dcache_range
Inquisitor-201 May 26, 2026
bc52438
docs: add hvisor-book link to AGENTS.md
Inquisitor-201 May 26, 2026
aefe564
Merge pull request #313 from Inquisitor-201/docs/agents-md
Inquisitor-201 May 26, 2026
11a9b0d
Merge pull request #312 from Inquisitor-201/fix/aarch64-dcache-clean-…
Inquisitor-201 May 26, 2026
55310f9
Merge pull request #287 from ZZJJWarth/virtio_cap
ZZJJWarth May 27, 2026
ba9e1c6
Revert "docs: add AGENTS.md and CLAUDE.md for AI coding agents"
Inquisitor-201 May 27, 2026
106aec6
feat: virtual riscv-iommu support (#307)
liulog Jun 3, 2026
2a54a55
fix: pci bridge only_one_child function
ZhongkaiXu Mar 28, 2026
7c42c71
fix: complete `rom_init` and fix rom access handle code (add mapping …
ZhongkaiXu Mar 28, 2026
f9ed69e
feat: add bridge bar access handle code (region mapping)
ZhongkaiXu Mar 29, 2026
cdbcb89
feat: add feature `io_atu_index` to define the atu index for io and c…
ZhongkaiXu Mar 29, 2026
ccbdd4b
feat: modify atu handlecode according to `io_atu_index`
ZhongkaiXu Mar 29, 2026
6091ab9
feat: add msi count and msi_info when enumerating pci devs
ZhongkaiXu Mar 31, 2026
a90957c
feat: handle msi cap access, record doorbell from vm
ZhongkaiXu Mar 31, 2026
c1948e3
feat: add msix table access detect code (Currently enabled for all mo…
ZhongkaiXu Mar 31, 2026
b05c035
feat: add `dwc_msi` feature
ZhongkaiXu Apr 5, 2026
2e1c7ce
feat (pci-dwc-msi): doorbell shadow and irq bit split
ZhongkaiXu Apr 7, 2026
d0e2428
fix: change msi msg by adding hw_irq_bit offset
ZhongkaiXu Apr 13, 2026
9d0e348
feat: add feature `pci_init_delay`
ZhongkaiXu Apr 14, 2026
963f44b
feat: add dwc-msi-inject event and successfully boot 2 vms with 1 net…
ZhongkaiXu Apr 23, 2026
df8c070
update config files for imx8mp
ZhongkaiXu Apr 27, 2026
b6e1dd9
fix: sync pci_init_delay functions in zone.inner and re-write vbdf-bd…
ZhongkaiXu Apr 28, 2026
8d5b123
fix: fix iommu import
ZhongkaiXu Apr 28, 2026
b718780
fix: format adjust
ZhongkaiXu Apr 28, 2026
a8770a2
fix: missing `intel_vtd` feature when rebasing code
ZhongkaiXu Apr 28, 2026
aee4c84
feat: modify config file, add pci vbdf-bdf remap
ZhongkaiXu May 10, 2026
7211a68
feat: enumerate pci dev ext caps
ZhongkaiXu May 10, 2026
04ea3cd
format adjust
ZhongkaiXu May 10, 2026
00f16b4
feat: add `sriov` feature
ZhongkaiXu Jun 1, 2026
b0aaf23
feat: sriov vf enumerate, sriov cap handler
ZhongkaiXu Jun 1, 2026
904874b
configs: add vf in dev list
ZhongkaiXu Jun 1, 2026
25acd7b
fix: compile error fix
ZhongkaiXu Jun 2, 2026
3734b12
Merge pull request #317 from syswonder/revert-313-docs/agents-md
Inquisitor-201 Jun 3, 2026
33a7867
config: fix x86_qemu config vbdf setting
ZhongkaiXu Jun 3, 2026
47d2ea7
config: fix loongarch config vbdf-bdf setting
ZhongkaiXu Jun 3, 2026
96bb44f
Merge pull request #321 from ZhongkaiXu/dev
ZhongkaiXu Jun 4, 2026
1dae3d3
refactor: remove redundant frame allocator wrappers and fix alignment…
Inquisitor-201 Jun 9, 2026
1e0b413
refactor(build): migrate platform options from Cargo features to Kcon…
dallasxy Jul 1, 2026
a3b6193
feat(openharmony): support dayu200 platform
Stone749990226 Jul 13, 2026
8cf2178
fix(loongarch-sriov): add ARI support
ZhongkaiXu Jun 30, 2026
caf35c3
fix FrameAllocator alloc_contiguous's align (#359)
liulog Jul 21, 2026
f8fb0d8
config: complete PCI fields in zone examples
Jaxtonmax Jul 21, 2026
0cd0136
feat(riscv): add RVA23 feature for QEMU platforms
liulog Jul 21, 2026
301ef20
Merge pull request #357 from Stone749990226/dayu200
agicy Jul 21, 2026
cbc9b3b
Merge pull request #358 from ZhongkaiXu/dev
ZhongkaiXu Jul 22, 2026
12f1f03
loongarch64: make SMP CPU startup use generic IPI send path
li041 Jul 27, 2026
52af58a
ci(jenkins): change qemu from v9.2.3 to v10.1.0
liulog Jul 28, 2026
99d67e5
riscv64: split RVA23 ISA features and refine Sstc handling
liulog Jul 28, 2026
df3cb6a
Merge pull request #363 from Jaxtonmax/fix/pci-config-fields
agicy Jul 29, 2026
fb4be61
loongarch64: make SMP CPU startup use generic IPI send path
li041 Jul 29, 2026
8787a3c
Merge pull request #364 from liulog/rva23
agicy Jul 29, 2026
91f814f
zone: track guest-to-physical CPU mappings
li041 Jul 30, 2026
50a6398
config: enlarge LoongArch 3A6000 hypervisor memory pools
li041 Jul 30, 2026
8830ef4
platform: map ls3a5000 IOCSR IPI and EXTIOI MMIO
li041 Jul 30, 2026
79e0169
platform: update ls3a6000 root zone memory and device layout
li041 Jul 30, 2026
79d41e8
config: update ls3a6000 linux1 SMP zone layout
li041 Jul 30, 2026
cb93f13
loongarch64: update Loongson platform layouts for SMP zones
li041 Jul 30, 2026
93bc47d
ci: restore manual workflow trigger
li041 Jul 30, 2026
f144ce7
feat(aarch64): add Jetson Orin support and UEFI memory map virtualiza…
ForeverYolo Aug 4, 2026
d68dc20
zone: track guest-to-physical CPU mappings
li041 Aug 5, 2026
b523dff
fix(loongarch64): fix LA release build
weifenjihe Aug 6, 2026
48a7112
fix module init
Solicey Apr 8, 2026
08a9303
boot Asterinas as zone1, support virtio-console
Solicey May 31, 2026
3d50373
feat(x86_64): add Multiboot2 boot protocol support for non-root zones
yydawx Aug 7, 2026
c5af749
feat(x86_64): add Asterinas zone1 configurations
yydawx Aug 7, 2026
5ae4109
fix(x86_64): complete x2APIC timer virtualization for zone1
yydawx Aug 7, 2026
ce9afeb
fix(x86_64): avoid IOAPIC redirect panic for unknown APIC IDs
yydawx Aug 7, 2026
f2dae9f
Merge pull request #362 from yydawx/update-asterinas
Solicey Aug 8, 2026
d0a2cc5
feat(x86_64): add hypercall to query ECAM base
yydawx Aug 10, 2026
ec75caa
riscv64: add spacemit k3-com260 initial support
liulog Aug 10, 2026
c8321fe
Merge pull request #378 from liulog/k3_com260
agicy Aug 10, 2026
5051015
feat(sysoul_x3300-scmi): add Linux NPU/GPU/display zone configs
agicy Aug 10, 2026
f6113fe
Merge pull request #377 from yydawx/ecam-dynamic-prob
Solicey Aug 10, 2026
28398f2
fix(loongarch64): fix LA release build
li041 Aug 11, 2026
a8adf3f
Merge pull request #379 from agicy/sysoul_x3300-scmi
agicy Aug 11, 2026
e63bde2
ci: restore manual workflow trigger
li041 Aug 11, 2026
42aa386
build(kconfig): support older Python environments
li041 Jul 29, 2026
d6037d9
build(kconfig): support older Python environments
li041 Aug 11, 2026
caf4ec5
[refactor] update ci terminal (#360)
dallasxy Aug 12, 2026
152b96f
loongarch64: fix SMP root CPU assumptions
li041 Jun 24, 2026
9a6684d
loongarch64: add SMP guest IPI support
li041 Jul 29, 2026
c62f293
loongarch64: preserve virtual guest IPI state
enkerewpo Jul 21, 2026
6145999
loongarch64: track guest HWI lines by level
enkerewpo Jul 21, 2026
c6cba30
hypercall: deassert Virtio IRQs by zone and line
enkerewpo Jul 21, 2026
fc876ad
hypercall: remove obsolete CPU ID checks
li041 Aug 11, 2026
c272d24
add hardware Ci for rk3568 and phytium-pi (#381)
dallasxy Aug 19, 2026
0f0cff0
Merge pull request #380 from li041/smp-int-fix
enkerewpo Aug 19, 2026
131e8ad
fix(loongarch64):Fix Virtio using too much CPU
weifenjihe Aug 20, 2026
3bec47c
fix(loongarch64):
weifenjihe Aug 21, 2026
a6155fd
refactor(loongarch64): combine guest HWI state with per-CPU mutex
li041 Aug 21, 2026
9397dd8
fix(loongarch64): Fix Virtio using too much CPU
li041 Aug 21, 2026
956a74f
ci(x86_64): add dedicated Asterinas zone1 Jenkins BID
yydawx Aug 12, 2026
08f50b5
Merge pull request #376 from yydawx/asterinas-jenkit
Solicey Aug 21, 2026
e933bc9
warn on MMIO handler/passthrough region overlap
Solicey Aug 22, 2026
6ecfa1a
Merge pull request #384 from Solicey/add_mem_overlap_check
li041 Aug 22, 2026
451a3af
fix(loongarch64): preserve firmware PCI bridge bus numbers (#386)
weifenjihe Aug 24, 2026
69702bb
chore(release): prepare v0.6 release
agicy Aug 24, 2026
97be4a0
Merge pull request #387 from syswonder/release/v0.6-preparation
agicy Aug 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
266 changes: 13 additions & 253 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
# hvisor Github Actions CI
# wheatfox <wheatfox17@icloud.com>
#
# GitHub: format + license checks only.

name: CI
on:
push:
branches:
- main
- dev
pull_request:
branches:
- main
- dev
# push:
# branches:
# - main
# - dev
# pull_request:
# branches:
# - main
# - dev
workflow_dispatch:
env:
MODE: debug
Expand All @@ -29,253 +31,11 @@ jobs:
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y qemu-system-aarch64 qemu-system-riscv64 gdb-multiarch llvm-dev libclang-dev wget
sudo apt-get install -y qemu-system-aarch64 qemu-system-riscv64 gdb-multiarch llvm-dev libclang-dev wget python3-venv
cargo install --version 0.3.0 --locked cargo-binutils
- name: Format Check
run: make fmt-test

# this job uses `cargo test` semantics to run unit test exclusively in QEMU
unittest:
name: unittest
runs-on: ubuntu-latest
strategy:
fail-fast: false # continue to run all jobs even if some fail
matrix:
include:
# aarch64
- arch: aarch64
board: "qemu-gicv3"
rustc_target: aarch64-unknown-none
- arch: aarch64
board: "qemu-gicv2"
rustc_target: aarch64-unknown-none
- arch: riscv64
board: "qemu-plic"
rustc_target: riscv64gc-unknown-none-elf
- arch: riscv64
board: "qemu-aia"
rustc_target: riscv64gc-unknown-none-elf
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.rustc_target }}
components: rust-src
- name: Setup QEMU from Source
if: matrix.arch == 'riscv64'
uses: ./.github/actions/setup-qemu
with:
qemu-version: "10.1.0"
install-path: "/opt/qemu"
- name: Install Dependencies
run: |
sudo apt-get update
if [ "${{ matrix.arch }}" = "riscv64" ]; then
sudo apt-get install -y gdb-multiarch llvm-dev libclang-dev wget
else
sudo apt-get install -y qemu-system-aarch64 gdb-multiarch llvm-dev libclang-dev wget
fi
cargo install --version 0.3.0 --locked cargo-binutils
- name: Set up environment variables
run: |
echo "ARCH=${{ matrix.arch }}" >> $GITHUB_ENV
echo "BOARD=${{ matrix.board }}" >> $GITHUB_ENV
- name: Unit Test
run: make test

# this job is for compilation test, it will make sure all aarch64, riscv64, loongarch64 can be compiled successfully
# there is no actual running in this job
build:
name: build
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
include:
# aarch64
- arch: aarch64
board: "qemu-gicv3"
rustc_target: aarch64-unknown-none
runs-on: ubuntu-latest
- arch: aarch64
board: "qemu-gicv2"
rustc_target: aarch64-unknown-none
runs-on: ubuntu-latest
- arch: aarch64
board: "zcu102"
rustc_target: aarch64-unknown-none
runs-on: ubuntu-latest
- arch: aarch64
board: "imx8mp"
rustc_target: aarch64-unknown-none
runs-on: ubuntu-latest
- arch: aarch64
board: "rk3568"
rustc_target: aarch64-unknown-none
runs-on: ubuntu-latest
- arch: aarch64
board: "rk3588"
rustc_target: aarch64-unknown-none
runs-on: ubuntu-latest
- arch: aarch64
board: "ok6254-c"
rustc_target: aarch64-unknown-none
runs-on: ubuntu-latest
- arch: aarch64
board: "phytium-pi"
rustc_target: aarch64-unknown-none
runs-on: ubuntu-latest
- arch: aarch64
board: "sysoul_x3300"
rustc_target: aarch64-unknown-none
runs-on: ubuntu-latest
# riscv64
- arch: riscv64
board: "qemu-aia"
rustc_target: riscv64gc-unknown-none-elf
runs-on: ubuntu-latest
- arch: riscv64
board: "qemu-plic"
rustc_target: riscv64gc-unknown-none-elf
runs-on: ubuntu-latest
- arch: riscv64
board: "hifive-premier-p550"
rustc_target: riscv64gc-unknown-none-elf
runs-on: ubuntu-latest
- arch: riscv64
board: "megrez"
rustc_target: riscv64gc-unknown-none-elf
runs-on: ubuntu-latest
- arch: riscv64
board: "ur-dp1000"
rustc_target: riscv64gc-unknown-none-elf
runs-on: ubuntu-latest
# loongarch64
- arch: loongarch64
board: "ls3a5000"
rustc_target: loongarch64-unknown-none
runs-on: ubuntu-latest
- arch: loongarch64
board: "ls3a6000"
rustc_target: loongarch64-unknown-none
runs-on: ubuntu-latest
# x86_64
- arch: x86_64
board: "qemu"
rustc_target: x86_64-unknown-none
runs-on: ubuntu-latest
- arch: x86_64
board: "nuc14mnk"
rustc_target: x86_64-unknown-none
runs-on: ubuntu-latest
- arch: x86_64
board: "ecx-2300f-peg"
rustc_target: x86_64-unknown-none
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.rustc_target }}
components: rust-src
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y wget
cargo install --version 0.3.0 --locked cargo-binutils
wget -q https://github.com/sunhaiyong1978/CLFS-for-LoongArch/releases/download/8.0/loongarch64-clfs-8.0-cross-tools-gcc-full.tar.xz
tar -xf loongarch64-clfs-8.0-cross-tools-gcc-full.tar.xz
echo "$GITHUB_WORKSPACE/cross-tools/bin" >> $GITHUB_PATH
- name: Set up environment variables
run: |
echo "ARCH=${{ matrix.arch }}" >> $GITHUB_ENV
echo "BOARD=${{ matrix.board }}" >> $GITHUB_ENV
- name: Build
run: make

# this job is for booting root and nonroot inside qemu for system test
systemtest:
# if: false # we need to update corresponding scripts for the new board abstraction
name: systemtest
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
include:
# aarch64
- arch: aarch64
rustc_target: aarch64-unknown-none
board: "qemu-gicv3"
runs-on: ubuntu-22.04
qemu_version: "9.0.2"
# riscv64
- arch: riscv64
rustc_target: riscv64gc-unknown-none-elf
board: "qemu-plic"
runs-on: ubuntu-22.04
qemu_version: "9.0.2"
# x86_64
- arch: x86_64
rustc_target: x86_64-unknown-none
board: "qemu"
runs-on: ["self-hosted", "X64"]
qemu_version: "9.2.3"
# Because other features need to be customized scripts
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.rustc_target }}
components: rust-src

- name: Setup QEMU from Source
if: matrix.arch != 'x86_64'
uses: ./.github/actions/setup-qemu
with:
qemu-version: ${{ matrix.qemu_version }}
install-path: '/opt/qemu'

- name: Setup ARM aarch64-none-linux-gnu
if: matrix.arch == 'aarch64'
uses: ./.github/actions/setup-aarch64-none-linux-gnu
with:
version: '10.3-2021.07'
install-path: '/opt/aarch64-none-linux-gnu'

- name: Setup RISCV riscv64-unknown-linux-gnu
if: matrix.arch == 'riscv64'
uses: ./.github/actions/setup-riscv64-unknown-linux-gnu
with:
version: '13.2.0'
install-path: '/opt/riscv64-unknown-linux-gnu'

- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y qemu-system-aarch64 qemu-system-riscv64 gdb-multiarch llvm-dev libclang-dev wget expect device-tree-compiler p7zip-full gcc-aarch64-linux-gnu gcc-riscv64-linux-gnu
cargo install --version 0.3.0 --locked cargo-binutils

- name: x86_64 Dependencies
if: matrix.arch == 'x86_64'
run: |
sudo apt-get install -y qemu-system-x86-64 grub-common xorriso grub-efi-amd64 mtools ovmf
sudo chmod 777 /dev/kvm
sed -i 's/ecam_base:.*,/ecam_base: 0xb0000000,/' ./platform/x86_64/qemu/board.rs

- name: Set up environment variables
run: |
echo "ARCH=${{ matrix.arch }}" >> $GITHUB_ENV
echo "BOARD=${{ matrix.board }}" >> $GITHUB_ENV
- name: Run System Test
run: |
make stest

license-checker:
name: license-checker
runs-on: ubuntu-latest
Expand All @@ -284,5 +44,5 @@ jobs:
uses: actions/checkout@v4
- name: License Check
run: |
set -x
./tools/license_checker.sh
set -x
./tools/license_checker.sh
12 changes: 10 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
/platform/*/*/image/kernel/*
/platform/*/*/image/virtdisk/*
/platform/*/*/image/bootloader/out
/platform/*/*/image/mb2_bootloader/out
/platform/*/*/image/iso/boot/kernel/*
/platform/*/*/image/iso/boot/hvisor
/tools/hvisor
Expand All @@ -32,8 +33,15 @@ flash.img*
.vscode/settings.json
compile.sh
src/platform/__board.rs
.config
.config*
.cursorrules
.vscode/extensions.json
# systemtest
rootfs1.zip*
rootfs1.zip*
jenkins/__pycache__
jenkins/logs/
logs/
jenkins-cli.jar
tools/kconfig/.venv/
tools/kconfig/__pycache__/
kernel_build/
33 changes: 29 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,34 @@

> ⚠️ 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.5
## CURRENT - v0.6

- [feature] **PCIe/virtio**: Add emulated virtio PCI device support. ([PR #287](https://github.com/syswonder/hvisor/pull/287), [ZZJJWarth](https://github.com/ZZJJWarth))
- [ci] Update CI workflow, add license / format checks, restore manual workflow triggers, and update CI terminal output. ([PR #302](https://github.com/syswonder/hvisor/pull/302), [PR #306](https://github.com/syswonder/hvisor/pull/306), [PR #360](https://github.com/syswonder/hvisor/pull/360), [Xingyu Chen](https://github.com/dallasxy))
- [feature] **aarch64**: Extend VCPU state handling. ([PR #303](https://github.com/syswonder/hvisor/pull/303), [Jingyu Liu](https://github.com/liulog))
- [feature] **riscv64**: Add virtual **RISC-V IOMMU** support. ([PR #307](https://github.com/syswonder/hvisor/pull/307), [Jingyu Liu](https://github.com/liulog))
- [bugfix] Detect and diagnose hvisor memory region overlap with the root zone, and add overlap checks between MMIO passthrough and MMIO intercept handler regions. ([PR #311](https://github.com/syswonder/hvisor/pull/311), [PR #384](https://github.com/syswonder/hvisor/pull/384), [Inquisitor-201](https://github.com/Inquisitor-201), [Solicey](https://github.com/Solicey))
- [bugfix] **aarch64**: Use `dc civac` instead of `dc ivac` in `invalidate_dcache_range`. ([PR #312](https://github.com/syswonder/hvisor/pull/312), [Inquisitor-201](https://github.com/Inquisitor-201))
- [refactor] Remove redundant frame allocator wrappers, fix alignment parameter semantics, and fix `alloc_contiguous` alignment. ([PR #316](https://github.com/syswonder/hvisor/pull/316), [PR #359](https://github.com/syswonder/hvisor/pull/359), [Nehckl](https://github.com/Inquisitor-201), [Jingyu Liu](https://github.com/liulog))
- [refactor] Migrate platform options from Cargo features to **Kconfig**. ([PR #319](https://github.com/syswonder/hvisor/pull/319), [Xingyu Chen](https://github.com/dallasxy))
- [feature] **PCIe**: Add **DWC MSI** injection and **SR-IOV** support (VF enumeration, capability handler, ARI). ([PR #321](https://github.com/syswonder/hvisor/pull/321), [PR #358](https://github.com/syswonder/hvisor/pull/358), [Zhongkai Xu](https://github.com/ZhongkaiXu))
- [feature] **aarch64**: Support **OpenHarmony** on dayu200 platform. ([PR #357](https://github.com/syswonder/hvisor/pull/357), [Stone749990226](https://github.com/Stone749990226))
- [feature] **x86_64**: Boot **Asterinas** as zone1 via Multiboot2, with virtio-console support, x2APIC timer virtualization, IOAPIC fixes, and dedicated Jenkins CI. ([PR #362](https://github.com/syswonder/hvisor/pull/362), [PR #376](https://github.com/syswonder/hvisor/pull/376), [yyda](https://github.com/yydawx))
- [config] Complete PCI fields in zone examples. ([PR #363](https://github.com/syswonder/hvisor/pull/363), [Jaxtonmax](https://github.com/Jaxtonmax))
- [feature] **riscv64**: Add **RVA23** ISA features for QEMU platforms. ([PR #364](https://github.com/syswonder/hvisor/pull/364), [Jingyu Liu](https://github.com/liulog))
- [platform] **aarch64**: Add support for **Jetson Orin** with UEFI memory map virtualization. ([PR #366](https://github.com/syswonder/hvisor/pull/366), [Ren HangQi](https://github.com/ForeverYolo))
- [feature] **x86_64**: Add a hypercall to query the ECAM base. ([PR #377](https://github.com/syswonder/hvisor/pull/377), [yyda](https://github.com/yydawx))
- [platform] **riscv64**: Add initial support for **Spacemit k3-com260**. ([PR #378](https://github.com/syswonder/hvisor/pull/378), [Jingyu Liu](https://github.com/liulog))
- [feature] **rk3588 (sysoul_x3300)**: Add Linux NPU / GPU / display zone configurations via SCMI. ([PR #379](https://github.com/syswonder/hvisor/pull/379), [agicy](https://github.com/agicy))
- [feature] **loongarch64**: Make SMP IPI and Virtio IRQ delivery stateful, track guest-to-physical CPU mappings, and fix Virtio consuming too much CPU. ([PR #380](https://github.com/syswonder/hvisor/pull/380), [Xinhao Li](https://github.com/li041), [Stl_](https://github.com/weifenjihe))
- [ci] **aarch64**: Add hardware CI for rk3568 and phytium-pi. ([PR #381](https://github.com/syswonder/hvisor/pull/381), [Xingyu Chen](https://github.com/dallasxy))
- [bugfix] **loongarch64**: Preserve firmware PCI bridge bus numbers. ([PR #386](https://github.com/syswonder/hvisor/pull/386), [Stl_](https://github.com/weifenjihe))
- [infra] Support older Python environments in Kconfig tooling and fix the LoongArch release build. ([Xinhao Li](https://github.com/li041), [Stl_](https://github.com/weifenjihe))
- [bugfix] **aarch64**: Refine early boot assembly. ([Nehckl](https://github.com/Inquisitor-201))

## History Release

## hvisor - v0.5

- [platform] **aarch64**: Add support for **sysoul_x3300**. ([agicy](https://github.com/agicy))
- [feature] **aarch64**: Add dual-zone Linux / Android deployment. ([agicy](https://github.com/agicy))
Expand All @@ -24,8 +51,6 @@
- [ci] Add CI / CD support for **x86_64**. ([Tianhong Liu](https://github.com/Solicey))
- [ci] Add performance benchmarking scripts for QEMU platforms. ([Xinhao Li](https://github.com/li041))

## History Release

## hvisor - v0.4

- [platform] **x86**: Add support for ECX-2300F-PEG. ([Tianhong Liu](https://github.com/Solicey))
Expand Down Expand Up @@ -53,7 +78,7 @@
- [platform] **aarch64**: Improve QEMU GICv2/GICv3 configurations and add zone1-linux support. ([agicy](https://github.com/agicy))
- [platform] **loongarch64**: Add support for Loongson 3A5 / 3A6 platforms and improve clock and trap handling. ([wheatfox](https://github.com/enkerewpo))
- [feature] Add **aarch32** support. ([Guowei Li](https://github.com/KouweiLee))
- [feature] **riscv64** enhancements: g-stage dynamic detection, eic770x_soc, and syscrg emulation. ([Jingyu Liu](https://github.com/liulog))
- [feature] **riscv64** enhancements: g-stage dynamic detection, hypervisor_v0_6 (EIC770x SoC), and syscrg emulation. ([Jingyu Liu](https://github.com/liulog))
- [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))
- [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))
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading