From a8a096b20c2032a66e663e01795208593a912f06 Mon Sep 17 00:00:00 2001 From: Ruoqing He <heruoqing@iscas.ac.cn> Date: Thu, 13 Feb 2025 14:48:43 +0800 Subject: [PATCH] dragonball: Centralize RustVMM crates Centralize all RustVMM crates to workspace.dependencies to prevent having multiple versions of each RustVMM crate, which is error-prone and inconsistent. With this setup, updates on RustVMM crates would be much easier. Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn> --- src/dragonball/Cargo.lock | 38 ++++++++------------ src/dragonball/Cargo.toml | 34 +++++++++++++----- src/dragonball/dbs_acpi/Cargo.toml | 2 +- src/dragonball/dbs_address_space/Cargo.toml | 4 +-- src/dragonball/dbs_arch/Cargo.toml | 10 +++--- src/dragonball/dbs_boot/Cargo.toml | 10 +++--- src/dragonball/dbs_interrupt/Cargo.toml | 6 ++-- src/dragonball/dbs_legacy_devices/Cargo.toml | 4 +-- src/dragonball/dbs_pci/Cargo.toml | 12 +++---- src/dragonball/dbs_tdx/Cargo.toml | 4 +-- src/dragonball/dbs_utils/Cargo.toml | 4 +-- src/dragonball/dbs_virtio_devices/Cargo.toml | 14 ++++---- 12 files changed, 74 insertions(+), 68 deletions(-) diff --git a/src/dragonball/Cargo.lock b/src/dragonball/Cargo.lock index f94fe23a02..0e77680243 100644 --- a/src/dragonball/Cargo.lock +++ b/src/dragonball/Cargo.lock @@ -269,7 +269,7 @@ dependencies = [ name = "dbs-acpi" version = "0.1.0" dependencies = [ - "vm-memory 0.9.0", + "vm-memory", ] [[package]] @@ -281,7 +281,7 @@ dependencies = [ "libc", "nix 0.23.2", "thiserror", - "vm-memory 0.10.0", + "vm-memory", "vmm-sys-util", ] @@ -301,7 +301,7 @@ dependencies = [ "libc", "memoffset", "thiserror", - "vm-memory 0.10.0", + "vm-memory", "vmm-sys-util", ] @@ -318,7 +318,7 @@ dependencies = [ "libc", "thiserror", "vm-fdt", - "vm-memory 0.10.0", + "vm-memory", ] [[package]] @@ -371,7 +371,7 @@ dependencies = [ "thiserror", "vfio-bindings", "vfio-ioctls", - "vm-memory 0.10.0", + "vm-memory", ] [[package]] @@ -443,7 +443,7 @@ dependencies = [ "vhost", "virtio-bindings", "virtio-queue", - "vm-memory 0.10.0", + "vm-memory", "vmm-sys-util", ] @@ -555,7 +555,7 @@ dependencies = [ "vfio-bindings", "vfio-ioctls", "virtio-queue", - "vm-memory 0.10.0", + "vm-memory", "vmm-sys-util", ] @@ -684,7 +684,7 @@ dependencies = [ "mio", "nix 0.24.3", "virtio-queue", - "vm-memory 0.10.0", + "vm-memory", "vmm-sys-util", ] @@ -1034,7 +1034,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9259ddbfbb52cc918f6bbc60390004ddd0228cf1d85f402009ff2b3d95de83f" dependencies = [ - "vm-memory 0.10.0", + "vm-memory", ] [[package]] @@ -1242,7 +1242,7 @@ dependencies = [ "nydus-utils", "serde", "serde_json", - "vm-memory 0.10.0", + "vm-memory", ] [[package]] @@ -1271,7 +1271,7 @@ dependencies = [ "tar", "tokio", "url", - "vm-memory 0.10.0", + "vm-memory", ] [[package]] @@ -2168,7 +2168,7 @@ dependencies = [ "log", "thiserror", "vfio-bindings", - "vm-memory 0.10.0", + "vm-memory", "vmm-sys-util", ] @@ -2180,7 +2180,7 @@ checksum = "a6769e8dbf5276b4376439fbf36bb880d203bf614bf7ef444198edc24b5a9f35" dependencies = [ "bitflags 1.3.2", "libc", - "vm-memory 0.10.0", + "vm-memory", "vmm-sys-util", ] @@ -2198,7 +2198,7 @@ checksum = "3ba81e2bcc21c0d2fc5e6683e79367e26ad219197423a498df801d79d5ba77bd" dependencies = [ "log", "virtio-bindings", - "vm-memory 0.10.0", + "vm-memory", "vmm-sys-util", ] @@ -2208,16 +2208,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f43fb5a6bd1a7d423ad72802801036719b7546cf847a103f8fe4575f5b0d45a6" -[[package]] -name = "vm-memory" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583f213899e8a5eea23d9c507252d4bed5bc88f0ecbe0783262f80034630744b" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "vm-memory" version = "0.10.0" diff --git a/src/dragonball/Cargo.toml b/src/dragonball/Cargo.toml index d9aca02ac4..fb15af4361 100644 --- a/src/dragonball/Cargo.toml +++ b/src/dragonball/Cargo.toml @@ -27,6 +27,22 @@ members = [ ] resolver = "2" +# Rust-VMM crates +[workspace.dependencies] +event-manager = "0.2.1" +kvm-bindings = "0.6.0" +kvm-ioctls = "0.12.0" +linux-loader = "0.8.0" +seccompiler = "0.2.0" +vfio-bindings = "0.3.0" +vfio-ioctls = "0.1.0" +virtio-bindings = "0.1.0" +virtio-queue = "0.7.0" +vm-fdt = "0.2.0" +vm-memory = "0.10.0" +vm-superio = "0.5.0" +vmm-sys-util = "0.11.0" + [dependencies] anyhow = "1.0.32" arc-swap = "1.5.0" @@ -45,16 +61,16 @@ dbs-virtio-devices = { path = "dbs_virtio_devices", optional = true, features = ] } dbs-pci = { path = "dbs_pci", optional = true } derivative = "2.2.0" -kvm-bindings = "0.6.0" -kvm-ioctls = "0.12.0" +kvm-bindings = { workspace = true } +kvm-ioctls = { workspace = true } lazy_static = "1.2" libc = "0.2.39" -linux-loader = "0.8.0" +linux-loader = {workspace = true} log = "0.4.14" nix = "0.24.2" procfs = "0.12.0" prometheus = { version = "0.13.0", features = ["process"] } -seccompiler = "0.2.0" +seccompiler = {workspace = true} serde = "1.0.27" serde_derive = "1.0.27" serde_json = "1.0.9" @@ -62,13 +78,13 @@ slog = "2.5.2" slog-scope = "4.4.0" thiserror = "1" tracing = "0.1.37" -vmm-sys-util = "0.11.0" -virtio-queue = { version = "0.7.0", optional = true } -vm-memory = { version = "0.10.0", features = ["backend-mmap"] } +vmm-sys-util = {workspace = true} +virtio-queue = { workspace = true, optional = true } +vm-memory = { workspace = true, features = ["backend-mmap"] } crossbeam-channel = "0.5.6" fuse-backend-rs = "0.10.5" -vfio-bindings = { version = "0.3.0", optional = true } -vfio-ioctls = { version = "0.1.0", optional = true } +vfio-bindings = { workspace = true, optional = true } +vfio-ioctls = { workspace = true, optional = true } [dev-dependencies] slog-async = "2.7.0" diff --git a/src/dragonball/dbs_acpi/Cargo.toml b/src/dragonball/dbs_acpi/Cargo.toml index df5e7867a6..7551f36997 100644 --- a/src/dragonball/dbs_acpi/Cargo.toml +++ b/src/dragonball/dbs_acpi/Cargo.toml @@ -11,4 +11,4 @@ keywords = ["dragonball", "acpi", "vmm", "secure-sandbox"] readme = "README.md" [dependencies] -vm-memory = "0.9.0" \ No newline at end of file +vm-memory = {workspace = true} \ No newline at end of file diff --git a/src/dragonball/dbs_address_space/Cargo.toml b/src/dragonball/dbs_address_space/Cargo.toml index 2ebd84fe6d..8939d1f064 100644 --- a/src/dragonball/dbs_address_space/Cargo.toml +++ b/src/dragonball/dbs_address_space/Cargo.toml @@ -16,5 +16,5 @@ libc = "0.2.39" nix = "0.23.1" lazy_static = "1" thiserror = "1" -vmm-sys-util = "0.11.0" -vm-memory = { version = "0.10", features = ["backend-mmap", "backend-atomic"] } +vmm-sys-util = {workspace = true} +vm-memory = { workspace = true, features = ["backend-mmap", "backend-atomic"] } diff --git a/src/dragonball/dbs_arch/Cargo.toml b/src/dragonball/dbs_arch/Cargo.toml index 79b2957fc6..28f4a8b581 100644 --- a/src/dragonball/dbs_arch/Cargo.toml +++ b/src/dragonball/dbs_arch/Cargo.toml @@ -12,15 +12,15 @@ readme = "README.md" [dependencies] memoffset = "0.6" -kvm-bindings = { version = "0.6.0", features = ["fam-wrappers"] } -kvm-ioctls = "0.12.0" +kvm-bindings = { workspace = true, features = ["fam-wrappers"] } +kvm-ioctls = {workspace = true} thiserror = "1" -vm-memory = { version = "0.10" } -vmm-sys-util = "0.11.0" +vm-memory = { workspace = true } +vmm-sys-util = {workspace = true} libc = ">=0.2.39" [dev-dependencies] -vm-memory = { version = "0.10", features = ["backend-mmap"] } +vm-memory = { workspace = true, features = ["backend-mmap"] } [package.metadata.docs.rs] all-features = true diff --git a/src/dragonball/dbs_boot/Cargo.toml b/src/dragonball/dbs_boot/Cargo.toml index 1ecac64210..8320e693ba 100644 --- a/src/dragonball/dbs_boot/Cargo.toml +++ b/src/dragonball/dbs_boot/Cargo.toml @@ -12,15 +12,15 @@ readme = "README.md" [dependencies] dbs-arch = { path = "../dbs_arch" } -kvm-bindings = { version = "0.6.0", features = ["fam-wrappers"] } -kvm-ioctls = "0.12.0" +kvm-bindings = { workspace = true, features = ["fam-wrappers"] } +kvm-ioctls = {workspace = true} lazy_static = "1" libc = "0.2.39" thiserror = "1" -vm-memory = "0.10.0" -vm-fdt = "0.2.0" +vm-memory = {workspace = true} +vm-fdt = {workspace= true} [dev-dependencies] -vm-memory = { version = "0.10.0", features = ["backend-mmap"] } +vm-memory = { workspace = true, features = ["backend-mmap"] } device_tree = ">=1.1.0" dbs-device = { path = "../dbs_device" } diff --git a/src/dragonball/dbs_interrupt/Cargo.toml b/src/dragonball/dbs_interrupt/Cargo.toml index 20d5d46e47..2d7c1e8839 100644 --- a/src/dragonball/dbs_interrupt/Cargo.toml +++ b/src/dragonball/dbs_interrupt/Cargo.toml @@ -13,10 +13,10 @@ readme = "README.md" [dependencies] dbs-device = { path = "../dbs_device" } dbs-arch = { path = "../dbs_arch" } -kvm-bindings = { version = "0.6.0", optional = true } -kvm-ioctls = { version = "0.12.0", optional = true } +kvm-bindings = { workspace = true, optional = true } +kvm-ioctls = { workspace = true, optional = true } libc = "0.2" -vmm-sys-util = "0.11.0" +vmm-sys-util = {workspace = true} [features] default = ["legacy-irq", "msi-irq"] diff --git a/src/dragonball/dbs_legacy_devices/Cargo.toml b/src/dragonball/dbs_legacy_devices/Cargo.toml index 8655783f7d..b719b63a01 100644 --- a/src/dragonball/dbs_legacy_devices/Cargo.toml +++ b/src/dragonball/dbs_legacy_devices/Cargo.toml @@ -16,8 +16,8 @@ dbs-utils = { path = "../dbs_utils" } libc = "0.2.39" log = "0.4.14" serde = { version = "1.0.27", features = ["derive", "rc"] } -vm-superio = "0.5.0" -vmm-sys-util = "0.11.0" +vm-superio = {workspace = true} +vmm-sys-util = {workspace = true} [dev-dependencies] libc = "0.2.39" diff --git a/src/dragonball/dbs_pci/Cargo.toml b/src/dragonball/dbs_pci/Cargo.toml index 70aa2a0be1..26aa2aad52 100644 --- a/src/dragonball/dbs_pci/Cargo.toml +++ b/src/dragonball/dbs_pci/Cargo.toml @@ -23,16 +23,16 @@ dbs-interrupt = { path = "../dbs_interrupt", features = [ ] } downcast-rs = "1.2.0" byteorder = "1.4.3" -vm-memory = "0.10.0" -kvm-ioctls = "0.12.0" -kvm-bindings = "0.6.0" -vfio-ioctls = "0.1.0" -vfio-bindings = "0.3.0" +vm-memory = {workspace = true} +kvm-ioctls = {workspace = true} +kvm-bindings = {workspace = true} +vfio-ioctls = {workspace = true} +vfio-bindings = {workspace = true} libc = "0.2.39" [dev-dependencies] dbs-arch = { path = "../dbs_arch" } -kvm-ioctls = "0.12.0" +kvm-ioctls = {workspace = true} [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = [ diff --git a/src/dragonball/dbs_tdx/Cargo.toml b/src/dragonball/dbs_tdx/Cargo.toml index 2643c6e485..a94fe42f9d 100644 --- a/src/dragonball/dbs_tdx/Cargo.toml +++ b/src/dragonball/dbs_tdx/Cargo.toml @@ -12,8 +12,8 @@ readme = "README.md" [dependencies] thiserror = "1.0" -kvm-bindings = { version = "0.6.0", features = ["fam-wrappers"] } -vmm-sys-util = "0.11.0" +kvm-bindings = { workspace = true, features = ["fam-wrappers"] } +vmm-sys-util = {workspace = true} [dev-dependencies] serde_json = "1.0.9" diff --git a/src/dragonball/dbs_utils/Cargo.toml b/src/dragonball/dbs_utils/Cargo.toml index ae2267ffc2..aa8a7da62d 100644 --- a/src/dragonball/dbs_utils/Cargo.toml +++ b/src/dragonball/dbs_utils/Cargo.toml @@ -12,13 +12,13 @@ readme = "README.md" [dependencies] anyhow = "1.0" -event-manager = { version = "0.2.1", features = [ "remote_endpoint" ] } +event-manager = { workspace = true, features = [ "remote_endpoint" ] } libc = "0.2.39" log = "0.4.14" serde = { version = "1.0.27", features = ["derive", "rc"] } thiserror = "1.0" timerfd = "1.0" -vmm-sys-util = "0.11.0" +vmm-sys-util = {workspace = true} [dev-dependencies] serde_json = "1.0.9" diff --git a/src/dragonball/dbs_virtio_devices/Cargo.toml b/src/dragonball/dbs_virtio_devices/Cargo.toml index 5f53804463..c30af0960b 100644 --- a/src/dragonball/dbs_virtio_devices/Cargo.toml +++ b/src/dragonball/dbs_virtio_devices/Cargo.toml @@ -24,8 +24,8 @@ dbs-boot = { path = "../dbs_boot" } epoll = ">=4.3.1, <4.3.2" io-uring = "0.5.2" fuse-backend-rs = { version = "0.10.5", optional = true } -kvm-bindings = "0.6.0" -kvm-ioctls = "0.12.0" +kvm-bindings = { workspace = true} +kvm-ioctls = {workspace = true} libc = "0.2.119" log = "0.4.14" nix = "0.24.3" @@ -37,16 +37,16 @@ serde = "1.0.27" serde_json = "1.0.9" thiserror = "1" threadpool = "1" -virtio-bindings = "0.1.0" -virtio-queue = "0.7.0" -vmm-sys-util = "0.11.0" -vm-memory = { version = "0.10.0", features = ["backend-mmap"] } +virtio-bindings = {workspace = true} +virtio-queue = {workspace = true} +vmm-sys-util = {workspace = true} +vm-memory = { workspace = true, features = ["backend-mmap"] } sendfd = "0.4.3" vhost-rs = { version = "0.6.1", package = "vhost", optional = true } timerfd = "1.0" [dev-dependencies] -vm-memory = { version = "0.10.0", features = [ +vm-memory = { workspace = true, features = [ "backend-mmap", "backend-atomic", ] }