Skip to content

arceos-hypervisor/axvisor-crates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

axvisor-crates

Reusable crates list for AxVisor.

Crate List

Crate      crates.io      Documentation Upstream Description
arm_vcpu Crates.io Docs.rs N/A Aarch64 VCPU implementation for Arceos Hypervisor.
arm_vgic Crates.io Docs.rs N/A ARM Virtual Generic Interrupt Controller (VGIC) implementation..
axaddrspace Crates.io Docs.rs N/A ArceOS-Hypervisor guest address space management module.
axcpu Crates.io Docs.rs arceos-org/axcpu Privileged instruction and structure abstractions for various CPU architectures.
axdevice N/A N/A N/A N/A
axdevice_base Crates.io Docs.rs 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 Crates.io Docs.rs N/A Virtual CPU abstraction for ArceOS hypervisor.
axvirtio-common Crates.io Docs.rs N/A Common types, traits, and utilities for VirtIO device implementations.
axvirtio-blk Crates.io Docs.rs N/A VirtIO block device implementation with MMIO transport for hypervisors.
axvisor_api Crates.io Docs.rs N/A Basic API for components of the Hypervisor on ArceOS.
axvm N/A N/A N/A N/A
axvmconfig Crates.io Docs.rs N/A A simple VM configuration tool for ArceOS-Hypervisor..
range-alloc Crates.io Docs.rs gfx-rs/range-alloc Generic range allocator.
riscv-h Crates.io Docs.rs N/A RISC-V virtualization-related registers.
riscv_vcpu Crates.io Docs.rs N/A ArceOS-Hypervisor riscv vcpu module.
x86_vcpu Crates.io Docs.rs N/A x86 Virtual CPU implementation for the Arceos Hypervisor.
x86_vlapic Crates.io Docs.rs N/A x86 Virtual Local APIC.

Total 19 crates from arceos-hypervisor are available!

Maintain The Crate List

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 REPOS in crate_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 init to add it as a submodule.
    • Items in .gitmodules are sorted in alphabet order too.
    • If there is any submodule absent in REPOS, the script fails.
  • Run ./scripts/submodule.sh update to download the submodule.
    • Generating the list needs all repos and crates to be locally available.
  • Run ./scripts/crate_list.sh gen to update the list in README.

Steps to remove a repo:

  • Remove it from REPOS in crate_list.sh.
  • Remove it from .gitmodules (and probably also from your local git config).
  • Run ./scripts/crate_list.sh gen to update the list in README.

Crate Dependency

Crate Dependency

About

Reusable Rust crates list for Axvisor.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6

Languages