Reusable crates list for AxVisor.
| Crate | crates.io | Documentation | Upstream | Description |
|---|---|---|---|---|
| arm_vcpu | N/A | Aarch64 VCPU implementation for Arceos Hypervisor. | ||
| arm_vgic | N/A | ARM Virtual Generic Interrupt Controller (VGIC) implementation.. | ||
| axaddrspace | N/A | ArceOS-Hypervisor guest address space management module. | ||
| axcpu | arceos-org/axcpu | Privileged instruction and structure abstractions for various CPU architectures. | ||
| axdevice | N/A | N/A | N/A | N/A |
| axdevice_base | N/A | Basic traits and structures for emulated devices in ArceOS hypervisor.. | ||
| axhvc | N/A | N/A | N/A | N/A |
| axplat-aarch64-dyn | N/A | N/A | N/A | N/A |
| axvcpu | N/A | Virtual CPU abstraction for ArceOS hypervisor. | ||
| axvirtio-common | N/A | Common types, traits, and utilities for VirtIO device implementations. | ||
| axvirtio-blk | N/A | VirtIO block device implementation with MMIO transport for hypervisors. | ||
| axvisor_api | N/A | Basic API for components of the Hypervisor on ArceOS. | ||
| axvm | N/A | N/A | N/A | N/A |
| axvmconfig | N/A | A simple VM configuration tool for ArceOS-Hypervisor.. | ||
| range-alloc | gfx-rs/range-alloc | Generic range allocator. | ||
| riscv-h | N/A | RISC-V virtualization-related registers. | ||
| riscv_vcpu | N/A | ArceOS-Hypervisor riscv vcpu module. | ||
| x86_vcpu | N/A | x86 Virtual CPU implementation for the Arceos Hypervisor. | ||
| x86_vlapic | N/A | x86 Virtual Local APIC. |
Total 19 crates from arceos-hypervisor are available!
The crates are organized through git submodules, and the list is automatically
generated by the scripts/crate_list.sh gen command.
The entry point to synchronize the state between submodules and crate list is
setting the variable REPOS in crate_list.sh.
Steps to add a new repo:
- Add the repo name to
REPOSincrate_list.sh.- The repo names should be in alphabet order, because it also determines the rendered line order in README table (i.e. crate list).
- Alpha-sorting makes things easier to look up.
- Run
./scripts/submodule.sh initto add it as a submodule.- Items in
.gitmodulesare sorted in alphabet order too. - If there is any submodule absent in
REPOS, the script fails.
- Items in
- Run
./scripts/submodule.sh updateto download the submodule.- Generating the list needs all repos and crates to be locally available.
- Run
./scripts/crate_list.sh gento update the list in README.
Steps to remove a repo:
- Remove it from
REPOSincrate_list.sh. - Remove it from .gitmodules (and probably also from your local git config).
- Run
./scripts/crate_list.sh gento update the list in README.
