mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
This upgrades the Cargo workspace to Rust edition 2024 to keep the code base clean and up to date. The commit only contains the adjustments to the Cargo.toml files and basic compiler error fixes. Also, this commit includes new SAFETY comments as discussed in [1]. The changes were not automatically fixed by `cargo fix --edition` but needed manual adjustments. Apart from that, all formatting and clippy adjustments follow in subsequent commits. * As only exception, workspace member net_gen sticks to edition 2021 for now as discussed in [0]. [0] https://github.com/cloud-hypervisor/cloud-hypervisor/pull/7295#discussion_r2310851041 [1] https://github.com/cloud-hypervisor/cloud-hypervisor/pull/7256#issuecomment-3271888674 Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de> On-behalf-of: SAP philipp.schuster@sap.com
156 lines
4.2 KiB
TOML
156 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 = "2024"
|
|
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",
|
|
]
|
|
package.edition = "2024"
|
|
|
|
[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.6.0"
|
|
mshv-ioctls = "0.6.0"
|
|
seccompiler = "0.5.0"
|
|
vfio-bindings = { version = "0.6.0", default-features = false }
|
|
vfio-ioctls = { version = "0.5.1", default-features = false }
|
|
vfio_user = { version = "0.1.1", 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.143"
|
|
serde_with = { version = "3.14.0", default-features = false }
|
|
|
|
# other crates
|
|
anyhow = "1.0.98"
|
|
bitflags = "2.9.3"
|
|
byteorder = "1.5.0"
|
|
cfg-if = "1.0.0"
|
|
clap = "4.5.47"
|
|
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.18.1" }
|
|
wait-timeout = "0.2.1"
|
|
zerocopy = { version = "0.8.26", default-features = false }
|