# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "axvm"
version = "0.5.20"
authors = ["aarkegz <aarkegz@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Virtual Machine resource management crate for ArceOS's hypervisor variant."
readme = "README.md"
keywords = [
    "vm",
    "hypervisor",
    "arceos",
]
categories = [
    "virtualization",
    "no-std",
]
license = "Apache-2.0"
repository = "https://github.com/arceos-hypervisor/axvm"

[features]
default = ["vmx"]
fs = [
    "vmx",
    "ax-std/fs",
]
host-fs = ["ax-std/fs"]
sstc = ["riscv_vcpu/sstc"]
svm = ["x86_vcpu/svm"]
vmx = ["x86_vcpu/vmx"]

[lib]
name = "axvm"
path = "src/lib.rs"

[[test]]
name = "arch_boundary_contract"
path = "tests/arch_boundary_contract.rs"

[dependencies.ax-cpumask]
version = "0.3.5"

[dependencies.ax-crate-interface]
version = "0.5.7"

[dependencies.ax-errno]
version = "0.6.1"

[dependencies.ax-hal]
version = "0.5.25"
features = ["ipi"]

[dependencies.ax-kernel-guard]
version = "0.3.11"

[dependencies.ax-kspin]
version = "0.3.15"

[dependencies.ax-lazyinit]
version = "0.4.8"

[dependencies.ax-memory-addr]
version = "0.6.9"

[dependencies.ax-memory-set]
version = "0.6.12"

[dependencies.ax-percpu]
version = "0.4.14"
features = ["arm-el2"]

[dependencies.ax-std]
version = "0.5.25"
features = [
    "paging",
    "irq",
    "multitask",
    "task-ext",
    "smp",
    "hv",
    "wake-ipi",
]

[dependencies.ax-timer-list]
version = "0.3.5"

[dependencies.axaddrspace]
version = "0.5.16"

[dependencies.axdevice]
version = "0.5.3"

[dependencies.axdevice_base]
version = "0.6.1"

[dependencies.axhvc]
version = "0.4.10"

[dependencies.axvm-types]
version = "0.7.0"

[dependencies.axvmconfig]
version = "0.8.1"
default-features = false

[dependencies.bit_field]
version = "0.10"

[dependencies.bitflags]
version = "2.9"

[dependencies.byte-unit]
version = "5"
features = ["byte"]
default-features = false

[dependencies.cfg-if]
version = "1.0"

[dependencies.extern-trait]
version = "0.4"

[dependencies.fdt-edit]
version = "0.2.3"

[dependencies.fdt-raw]
version = "0.3"

[dependencies.hashbrown]
version = "0.14"

[dependencies.irq-framework]
version = "0.3.0"

[dependencies.log]
version = "0.4"

[dependencies.numeric-enum-macro]
version = "0.2"

[dependencies.page-table-generic]
version = "0.7.4"

[dependencies.spin]
version = "=0.12.0"
features = [
    "lock_api",
    "once",
    "lazylock",
]
default-features = false

[target.'cfg(target_arch = "aarch64")'.dependencies.aarch64-cpu-ext]
version = "0.1"

[target.'cfg(target_arch = "aarch64")'.dependencies.arm-gic-driver]
version = "0.17.8"
features = ["rdif"]

[target.'cfg(target_arch = "aarch64")'.dependencies.arm_vcpu]
version = "0.5.16"

[target.'cfg(target_arch = "aarch64")'.dependencies.arm_vgic]
version = "0.5.3"
features = ["vgicv3"]

[target.'cfg(target_arch = "aarch64")'.dependencies.rdif-intc]
version = "0.15.0"

[target.'cfg(target_arch = "aarch64")'.dependencies.rdrive]
version = "0.23.5"

[target.'cfg(target_arch = "loongarch64")'.dependencies.ax-driver]
version = "0.11.1"

[target.'cfg(target_arch = "loongarch64")'.dependencies.ax-plat]
version = "0.9.2"

[target.'cfg(target_arch = "loongarch64")'.dependencies.loongarch_vcpu]
version = "0.5.11"

[target.'cfg(target_arch = "riscv64")'.dependencies.riscv_vcpu]
version = "0.5.17"

[target.'cfg(target_arch = "riscv64")'.dependencies.riscv_vplic]
version = "0.4.20"

[target.'cfg(target_arch = "x86_64")'.dependencies.x86]
version = "0.52"

[target.'cfg(target_arch = "x86_64")'.dependencies.x86_vcpu]
version = "0.5.18"
default-features = false

[target.'cfg(target_arch = "x86_64")'.dependencies.x86_vlapic]
version = "0.4.19"
