Use vhost 0.15.0 and vhost-user-backend 0.21.0 from https://git.dsg.is/dsg/vhost.git instead of crates.io. This required bumping several rust-vmm dependencies to maintain compatibility with the newer vm-memory 0.17.x and vmm-sys-util 0.15.x APIs used by the fork: - kvm-bindings: 0.12.1 → 0.14.0 - kvm-ioctls: 0.22.1 → 0.24.0 (nested_state renamed) - linux-loader: 0.13.1 → 0.13.2 - vfio-bindings: 0.6.0 → 0.6.1 - vfio-ioctls: 0.5.1 → 0.5.2 (VfioDevice::new takes Arc<dyn VfioOps>) - vfio_user: 0.1.1 → 0.1.2 - virtio-queue: 0.16.0 → 0.17.0 - vm-memory: 0.16.1 → 0.17.1 (Error split, Bytes trait, VolatileSlice) - vmm-sys-util: 0.14.0 → 0.15.0 (EventConsumer/EventNotifier API) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
121 lines
2.7 KiB
TOML
121 lines
2.7 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_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",
|
|
]
|
|
package.edition = "2024"
|
|
resolver = "3"
|
|
|
|
[workspace.dependencies]
|
|
# rust-vmm crates
|
|
acpi_tables = "0.2.0"
|
|
kvm-bindings = "0.14.0"
|
|
kvm-ioctls = "0.24.0"
|
|
linux-loader = "0.13.2"
|
|
mshv-bindings = "0.6.7"
|
|
mshv-ioctls = "0.6.7"
|
|
seccompiler = "0.5.0"
|
|
vfio-bindings = { version = "0.6.1", default-features = false }
|
|
vfio-ioctls = { version = "0.5.2", default-features = false }
|
|
vfio_user = { version = "0.1.2", default-features = false }
|
|
vhost = { git = "https://git.dsg.is/dsg/vhost.git", default-features = false }
|
|
vhost-user-backend = { git = "https://git.dsg.is/dsg/vhost.git", default-features = false }
|
|
virtio-bindings = "0.2.6"
|
|
virtio-queue = "0.17.0"
|
|
vm-fdt = "0.3.0"
|
|
vm-memory = "0.17.1"
|
|
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.149"
|
|
serde_with = { version = "3.16.1", default-features = false }
|
|
|
|
# other crates
|
|
anyhow = "1.0.101"
|
|
bitflags = "2.11.0"
|
|
byteorder = "1.5.0"
|
|
cfg-if = "1.0.4"
|
|
clap = "4.5.59"
|
|
dhat = "0.3.3"
|
|
dirs = "6.0.0"
|
|
env_logger = "0.11.8"
|
|
epoll = "4.4.0"
|
|
flume = "0.12.0"
|
|
itertools = "0.14.0"
|
|
libc = "0.2.182"
|
|
log = "0.4.29"
|
|
signal-hook = "0.4.3"
|
|
thiserror = "2.0.18"
|
|
uuid = { version = "1.21.0" }
|
|
wait-timeout = "0.2.1"
|
|
zerocopy = { version = "0.8.39", 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
|
|
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)'] }
|