This is necessary to use the let-chains feature in a follow-up. After upgrading to Rust edition 2024, clippy wants to collapse various if's with let-chains. Update image to 20250815-0 since MSRV in Dockerfile is updated. Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de> On-behalf-of: SAP philipp.schuster@sap.com
154 lines
4.2 KiB
TOML
154 lines
4.2 KiB
TOML
[package]
|
|
authors = ["The Cloud Hypervisor Authors"]
|
|
build = "build.rs"
|
|
default-run = "cloud-hypervisor"
|
|
description = "Open source Virtual Machine Monitor (VMM) that runs on top of KVM & MSHV"
|
|
edition = "2021"
|
|
homepage = "https://github.com/cloud-hypervisor/cloud-hypervisor"
|
|
license = "Apache-2.0 AND BSD-3-Clause"
|
|
name = "cloud-hypervisor"
|
|
version = "47.0.0"
|
|
# Minimum buildable version:
|
|
# Keep in sync with version in .github/workflows/build.yaml
|
|
# Policy on MSRV (see #4318):
|
|
# Can only be bumped if satisfying any of the following:
|
|
# a.) A dependency requires it,
|
|
# b.) If we want to use a new feature and that MSRV is at least 6 months old,
|
|
# c.) There is a security issue that is addressed by the toolchain update.
|
|
rust-version = "1.88.0"
|
|
|
|
[profile.release]
|
|
codegen-units = 1
|
|
lto = true
|
|
opt-level = "s"
|
|
strip = true
|
|
|
|
[profile.profiling]
|
|
debug = true
|
|
inherits = "release"
|
|
strip = false
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
api_client = { path = "api_client" }
|
|
clap = { workspace = true, features = ["string"] }
|
|
dhat = { workspace = true, optional = true }
|
|
env_logger = { workspace = true }
|
|
epoll = { workspace = true }
|
|
event_monitor = { path = "event_monitor" }
|
|
hypervisor = { path = "hypervisor" }
|
|
libc = { workspace = true }
|
|
log = { workspace = true, features = ["std"] }
|
|
option_parser = { path = "option_parser" }
|
|
seccompiler = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
signal-hook = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tpm = { path = "tpm" }
|
|
tracer = { path = "tracer" }
|
|
vm-memory = { workspace = true }
|
|
vmm = { path = "vmm" }
|
|
vmm-sys-util = { workspace = true }
|
|
zbus = { version = "5.7.1", optional = true }
|
|
|
|
[dev-dependencies]
|
|
dirs = { workspace = true }
|
|
net_util = { path = "net_util" }
|
|
serde_json = { workspace = true }
|
|
test_infra = { path = "test_infra" }
|
|
wait-timeout = { workspace = true }
|
|
|
|
# Please adjust `vmm::feature_list()` accordingly when changing the
|
|
# feature list below
|
|
[features]
|
|
dbus_api = ["vmm/dbus_api", "zbus"]
|
|
default = ["io_uring", "kvm"]
|
|
dhat-heap = ["dhat", "vmm/dhat-heap"] # For heap profiling
|
|
fw_cfg = ["vmm/fw_cfg"]
|
|
guest_debug = ["vmm/guest_debug"]
|
|
igvm = ["mshv", "vmm/igvm"]
|
|
io_uring = ["vmm/io_uring"]
|
|
ivshmem = ["vmm/ivshmem"]
|
|
kvm = ["vmm/kvm"]
|
|
mshv = ["vmm/mshv"]
|
|
pvmemcontrol = ["vmm/pvmemcontrol"]
|
|
sev_snp = ["igvm", "mshv", "vmm/sev_snp"]
|
|
tdx = ["vmm/tdx"]
|
|
tracing = ["tracer/tracing", "vmm/tracing"]
|
|
|
|
[workspace]
|
|
members = [
|
|
"api_client",
|
|
"arch",
|
|
"block",
|
|
"devices",
|
|
"event_monitor",
|
|
"hypervisor",
|
|
"net_gen",
|
|
"net_util",
|
|
"option_parser",
|
|
"pci",
|
|
"performance-metrics",
|
|
"rate_limiter",
|
|
"serial_buffer",
|
|
"test_infra",
|
|
"tracer",
|
|
"vhost_user_block",
|
|
"vhost_user_net",
|
|
"virtio-devices",
|
|
"vm-allocator",
|
|
"vm-device",
|
|
"vm-migration",
|
|
"vm-virtio",
|
|
"vmm",
|
|
]
|
|
|
|
[workspace.dependencies]
|
|
# rust-vmm crates
|
|
acpi_tables = { git = "https://github.com/rust-vmm/acpi_tables", branch = "main" }
|
|
kvm-bindings = "0.12.0"
|
|
kvm-ioctls = "0.22.0"
|
|
# TODO: update to 0.13.1+
|
|
linux-loader = { git = "https://github.com/rust-vmm/linux-loader", branch = "main" }
|
|
mshv-bindings = "0.5.2"
|
|
mshv-ioctls = "0.5.2"
|
|
seccompiler = "0.5.0"
|
|
vfio-bindings = { version = "0.5.0", default-features = false }
|
|
vfio-ioctls = { version = "0.5.0", default-features = false }
|
|
vfio_user = { version = "0.1.0", default-features = false }
|
|
vhost = { version = "0.14.0", default-features = false }
|
|
vhost-user-backend = { version = "0.20.0", default-features = false }
|
|
virtio-bindings = "0.2.6"
|
|
virtio-queue = "0.16.0"
|
|
vm-fdt = { git = "https://github.com/rust-vmm/vm-fdt", branch = "main" }
|
|
vm-memory = "0.16.1"
|
|
vmm-sys-util = "0.14.0"
|
|
|
|
# igvm crates
|
|
# TODO: bump to 0.3.5 release
|
|
igvm = { git = "https://github.com/microsoft/igvm", branch = "main" }
|
|
igvm_defs = { git = "https://github.com/microsoft/igvm", branch = "main" }
|
|
|
|
# serde crates
|
|
serde = "1.0.208"
|
|
serde_json = "1.0.120"
|
|
serde_with = { version = "3.14.0", default-features = false }
|
|
|
|
# other crates
|
|
anyhow = "1.0.98"
|
|
bitflags = "2.9.0"
|
|
byteorder = "1.5.0"
|
|
cfg-if = "1.0.0"
|
|
clap = "4.5.13"
|
|
dhat = "0.3.3"
|
|
dirs = "6.0.0"
|
|
env_logger = "0.11.8"
|
|
epoll = "4.3.3"
|
|
flume = "0.11.1"
|
|
libc = "0.2.167"
|
|
log = "0.4.22"
|
|
signal-hook = "0.3.18"
|
|
thiserror = "2.0.12"
|
|
uuid = { version = "1.17.0" }
|
|
wait-timeout = "0.2.0"
|
|
zerocopy = { version = "0.8.26", default-features = false }
|