Files
cloud-hypervisor/Cargo.toml
Alyssa Ross cd2089eb69 build: Bump vm-memory and dependents
vm-memory 0.18 has renamed GuestMemory to GuestMemoryBackend, and made
GuestMemory refer to something less specific.  For simplicity, we keep
using GuestMemoryBackend (formerly GuestMemory) everywhere for now.  We
can adjust bounds to be less specific later if we find ourselves needing
the newly enabled flexibility.

Signed-off-by: Alyssa Ross <hi@alyssa.is>
Signed-off-by: Rob Bradford <rbradford@meta.com>
2026-07-20 17:51:23 +00:00

142 lines
3.3 KiB
TOML

# Cloud Hypervisor Workspace
#
# The main crate producing the binaries is in `./cloud-hypervisor`.
[profile.release]
codegen-units = 1
lto = true
opt-level = "s"
strip = true
[profile.profiling]
debug = true
inherits = "release"
strip = false
[workspace]
members = [
"api_client",
"arch",
"block",
"cloud-hypervisor",
"devices",
"event_monitor",
"hypervisor",
"net_util",
"offload_daemon",
"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",
]
package.edition = "2024"
# 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.
package.rust-version = "1.89.0"
resolver = "3"
[workspace.dependencies]
# rust-vmm crates
acpi_tables = "0.2.1"
iommufd-ioctls = "0.2.0"
kvm-bindings = "0.14.1"
kvm-ioctls = "0.25.0"
linux-loader = "0.14.0"
mshv-bindings = "0.6.9"
mshv-ioctls = "0.6.9"
seccompiler = "0.5.0"
vfio-bindings = { version = "0.6.2", default-features = false }
vfio-ioctls = { version = "0.8.0", default-features = false }
vfio_user = { version = "0.1.4", default-features = false }
vhost = { version = "0.17.0", default-features = false }
vhost-user-backend = { version = "0.23.0", default-features = false }
virtio-bindings = "0.2.6"
virtio-queue = "0.18.0"
vm-fdt = "0.3.0"
vm-memory = "0.18.0"
vmm-sys-util = "0.15.0"
# igvm crates
igvm = "0.4.0"
igvm_defs = "0.4.0"
# serde crates
serde = "1.0.228"
serde_json = "1.0.150"
serde_with = { version = "3.19.0", default-features = false }
# other crates
anyhow = "1.0.102"
base64 = "0.22.1"
bitflags = "2.11.1"
byteorder = "1.5.0"
cfg-if = "1.0.4"
clap = "4.6.1"
dhat = "0.3.3"
dirs = "6.0.0"
env_logger = "0.11.10"
epoll = "4.4.0"
flume = "0.12.0"
itertools = "0.15.0"
jiff = { version = "0.2", default-features = false, features = ["std"] }
libc = "0.2.186"
log = "0.4.30"
rustls = { version = "0.23.40", default-features = false, features = [
"logging",
"ring",
"std",
] }
sha2 = "0.11.0"
signal-hook = "0.4.4"
signal-hook-registry = "1.4.8"
smallvec = "1.15.1"
thiserror = "2.0.18"
uuid = { version = "1.23.2" }
wait-timeout = "0.2.1"
zerocopy = { version = "0.8.50", default-features = false }
[workspace.lints.clippy]
# Any clippy lint (group) in alphabetical order:
# https://rust-lang.github.io/rust-clippy/master/index.html
# Groups
all = "deny" # shorthand for the other groups but here for compleness
complexity = "deny"
correctness = "deny"
perf = "deny"
style = "deny"
suspicious = "deny"
# Individual Lints
absolute_paths = "deny"
assertions_on_result_states = "deny"
if_not_else = "deny"
manual_string_new = "deny"
map_unwrap_or = "deny"
needless_pass_by_value = "deny"
redundant_else = "deny"
semicolon_if_nothing_returned = "deny"
undocumented_unsafe_blocks = "deny"
uninlined_format_args = "deny"
unnecessary_semicolon = "deny"
[workspace.lints.rust]
# `level = warn` is irrelevant here but mandatory for rustc/cargo
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(devcli_testenv)'] }