2019-02-21 16:04:44 +00:00
|
|
|
[package]
|
|
|
|
name = "cloud-hypervisor"
|
2024-02-15 00:12:19 +00:00
|
|
|
version = "38.0.0"
|
2019-02-21 16:04:44 +00:00
|
|
|
authors = ["The Cloud Hypervisor Authors"]
|
2022-04-08 15:11:04 +00:00
|
|
|
edition = "2021"
|
2019-11-25 21:57:55 +00:00
|
|
|
default-run = "cloud-hypervisor"
|
2020-02-13 05:11:03 +00:00
|
|
|
build = "build.rs"
|
2020-08-09 09:39:31 +00:00
|
|
|
license = "LICENSE-APACHE & LICENSE-BSD-3-Clause"
|
|
|
|
description = "Open source Virtual Machine Monitor (VMM) that runs on top of KVM"
|
|
|
|
homepage = "https://github.com/cloud-hypervisor/cloud-hypervisor"
|
2022-02-23 11:53:19 +00:00
|
|
|
# Minimum buildable version:
|
|
|
|
# Keep in sync with version in .github/workflows/build.yaml
|
2022-11-29 16:04:10 +00:00
|
|
|
# Policy on MSRV (see #4318):
|
|
|
|
# Can only be bumped by:
|
2023-02-23 20:35:29 +00:00
|
|
|
# a.) A dependency requires it,
|
2022-11-29 16:04:10 +00:00
|
|
|
# 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.
|
2024-04-07 08:13:21 +00:00
|
|
|
rust-version = "1.74.1"
|
2019-02-21 16:04:44 +00:00
|
|
|
|
2020-06-17 17:15:52 +00:00
|
|
|
[profile.release]
|
|
|
|
lto = true
|
2022-08-11 11:35:26 +00:00
|
|
|
codegen-units = 1
|
|
|
|
opt-level = "s"
|
2022-11-20 11:02:41 +00:00
|
|
|
strip = true
|
2020-06-17 17:15:52 +00:00
|
|
|
|
2023-01-17 12:52:20 +00:00
|
|
|
[profile.profiling]
|
|
|
|
inherits = "release"
|
|
|
|
strip = false
|
|
|
|
debug = true
|
|
|
|
|
2019-02-21 16:04:44 +00:00
|
|
|
[dependencies]
|
2024-04-06 07:47:54 +00:00
|
|
|
anyhow = "1.0.81"
|
2020-10-23 10:20:37 +00:00
|
|
|
api_client = { path = "api_client" }
|
2024-04-06 07:47:54 +00:00
|
|
|
clap = { version = "4.5.4", features = ["string"] }
|
2024-02-12 23:50:24 +00:00
|
|
|
dhat = { version = "0.3.3", optional = true }
|
2023-07-04 23:04:49 +00:00
|
|
|
epoll = "4.3.3"
|
2021-02-17 11:19:39 +00:00
|
|
|
event_monitor = { path = "event_monitor" }
|
2020-06-08 00:50:38 +00:00
|
|
|
hypervisor = { path = "hypervisor" }
|
2024-02-07 23:15:53 +00:00
|
|
|
libc = "0.2.153"
|
2024-04-06 07:47:54 +00:00
|
|
|
log = { version = "0.4.21", features = ["std"] }
|
2020-09-08 14:51:00 +00:00
|
|
|
option_parser = { path = "option_parser" }
|
2023-10-30 18:31:10 +00:00
|
|
|
seccompiler = "0.4.0"
|
2024-04-06 07:47:54 +00:00
|
|
|
serde_json = "1.0.115"
|
2023-08-01 23:45:19 +00:00
|
|
|
signal-hook = "0.3.17"
|
2024-04-06 07:47:54 +00:00
|
|
|
thiserror = "1.0.58"
|
2022-09-08 06:02:26 +00:00
|
|
|
tpm = { path = "tpm"}
|
2022-06-21 14:01:26 +00:00
|
|
|
tracer = { path = "tracer" }
|
2019-06-03 14:40:09 +00:00
|
|
|
vmm = { path = "vmm" }
|
build: Bump vmm-sys-util crate and its consumers
This patch bumps the following crates, including `kvm-bindings@0.7.0`*,
`kvm-ioctls@0.16.0`**, `linux-loader@0.11.0`, `versionize@0.2.0`,
`versionize_derive@0.1.6`***, `vhost@0.10.0`,
`vhost-user-backend@0.13.1`, `virtio-queue@0.11.0`, `vm-memory@0.14.0`,
`vmm-sys-util@0.12.1`, and the latest of `vfio-bindings`, `vfio-ioctls`,
`mshv-bindings`,`mshv-ioctls`, and `vfio-user`.
* A fork of the `kvm-bindings` crate is being used to support
serialization of various structs for migration [1]. Also, code changes
are made to accommodate the updated `struct xsave` from the Linux
kernel. Note: these changes related to `struct xsave` break
live-upgrade.
** The new `kvm-ioctls` crate introduced breaking changes for
the `get/set_one_reg` API on `aarch64` [2], so code changes are made to
the new APIs.
*** A fork of the `versionize_derive` crate is being used to support
versionize on packed structs [3].
[1] https://github.com/cloud-hypervisor/kvm-bindings/tree/ch-v0.7.0
[2] https://github.com/rust-vmm/kvm-ioctls/pull/223
[3] https://github.com/cloud-hypervisor/versionize_derive/tree/ch-0.1.6
Fixes: #6072
Signed-off-by: Bo Chen <chen.bo@intel.com>
2024-01-23 17:29:40 +00:00
|
|
|
vmm-sys-util = "0.12.1"
|
2024-04-02 23:22:11 +00:00
|
|
|
vm-memory = "0.14.1"
|
2024-03-04 23:52:32 +00:00
|
|
|
zbus = { version = "3.15.2", optional = true }
|
2019-05-23 15:45:13 +00:00
|
|
|
|
2020-10-07 17:14:13 +00:00
|
|
|
# List of patched crates
|
2021-02-23 14:01:31 +00:00
|
|
|
[patch.crates-io]
|
build: Bump vmm-sys-util crate and its consumers
This patch bumps the following crates, including `kvm-bindings@0.7.0`*,
`kvm-ioctls@0.16.0`**, `linux-loader@0.11.0`, `versionize@0.2.0`,
`versionize_derive@0.1.6`***, `vhost@0.10.0`,
`vhost-user-backend@0.13.1`, `virtio-queue@0.11.0`, `vm-memory@0.14.0`,
`vmm-sys-util@0.12.1`, and the latest of `vfio-bindings`, `vfio-ioctls`,
`mshv-bindings`,`mshv-ioctls`, and `vfio-user`.
* A fork of the `kvm-bindings` crate is being used to support
serialization of various structs for migration [1]. Also, code changes
are made to accommodate the updated `struct xsave` from the Linux
kernel. Note: these changes related to `struct xsave` break
live-upgrade.
** The new `kvm-ioctls` crate introduced breaking changes for
the `get/set_one_reg` API on `aarch64` [2], so code changes are made to
the new APIs.
*** A fork of the `versionize_derive` crate is being used to support
versionize on packed structs [3].
[1] https://github.com/cloud-hypervisor/kvm-bindings/tree/ch-v0.7.0
[2] https://github.com/rust-vmm/kvm-ioctls/pull/223
[3] https://github.com/cloud-hypervisor/versionize_derive/tree/ch-0.1.6
Fixes: #6072
Signed-off-by: Bo Chen <chen.bo@intel.com>
2024-01-23 17:29:40 +00:00
|
|
|
kvm-bindings = { git = "https://github.com/cloud-hypervisor/kvm-bindings", branch = "ch-v0.7.0" }
|
2021-02-23 14:01:31 +00:00
|
|
|
|
2019-05-23 15:45:13 +00:00
|
|
|
[dev-dependencies]
|
2024-04-06 07:47:54 +00:00
|
|
|
dirs = "5.0.1"
|
2020-05-15 09:19:51 +00:00
|
|
|
net_util = { path = "net_util" }
|
2023-12-21 23:35:50 +00:00
|
|
|
once_cell = "1.19.0"
|
2024-04-06 07:47:54 +00:00
|
|
|
serde_json = "1.0.115"
|
2021-03-23 16:15:48 +00:00
|
|
|
test_infra = { path = "test_infra" }
|
2021-02-22 15:48:16 +00:00
|
|
|
wait-timeout = "0.2.0"
|
2019-05-23 15:45:13 +00:00
|
|
|
|
2023-10-04 18:20:34 +00:00
|
|
|
# Please adjust `vmm::feature_list()` accordingly when changing the
|
|
|
|
# feature list below
|
2019-05-23 15:45:13 +00:00
|
|
|
[features]
|
2023-07-10 09:55:55 +00:00
|
|
|
default = ["kvm", "io_uring"]
|
2023-03-29 12:08:04 +00:00
|
|
|
dbus_api = ["zbus", "vmm/dbus_api"]
|
2023-01-17 12:53:55 +00:00
|
|
|
dhat-heap = ["dhat"] # For heap profiling
|
2022-05-10 11:21:02 +00:00
|
|
|
guest_debug = ["vmm/guest_debug"]
|
2023-10-05 01:07:45 +00:00
|
|
|
igvm = ["vmm/igvm", "mshv"]
|
2023-07-10 09:55:55 +00:00
|
|
|
io_uring = ["vmm/io_uring"]
|
2020-07-07 11:06:40 +00:00
|
|
|
kvm = ["vmm/kvm"]
|
2020-12-03 22:14:04 +00:00
|
|
|
mshv = ["vmm/mshv"]
|
2023-10-05 01:07:45 +00:00
|
|
|
sev_snp = ["igvm", "vmm/sev_snp", "mshv"]
|
2021-02-03 10:02:18 +00:00
|
|
|
tdx = ["vmm/tdx"]
|
2022-06-21 14:01:26 +00:00
|
|
|
tracing = ["vmm/tracing", "tracer/tracing"]
|
2019-05-23 15:45:13 +00:00
|
|
|
|
2019-07-16 09:54:33 +00:00
|
|
|
[workspace]
|
2019-09-26 11:32:24 +00:00
|
|
|
members = [
|
2020-10-23 10:20:37 +00:00
|
|
|
"api_client",
|
2020-01-02 18:40:37 +00:00
|
|
|
"arch",
|
2023-07-12 02:24:28 +00:00
|
|
|
"block",
|
2020-01-02 18:40:37 +00:00
|
|
|
"devices",
|
2021-02-17 11:16:00 +00:00
|
|
|
"event_monitor",
|
2020-07-15 09:37:57 +00:00
|
|
|
"hypervisor",
|
|
|
|
"net_gen",
|
|
|
|
"net_util",
|
|
|
|
"option_parser",
|
2020-01-02 18:40:37 +00:00
|
|
|
"pci",
|
2022-01-11 05:27:58 +00:00
|
|
|
"performance-metrics",
|
2021-03-22 18:23:51 +00:00
|
|
|
"rate_limiter",
|
2022-08-25 08:26:59 +00:00
|
|
|
"serial_buffer",
|
2022-03-04 15:37:39 +00:00
|
|
|
"test_infra",
|
2022-06-21 14:01:26 +00:00
|
|
|
"tracer",
|
2020-07-15 09:37:57 +00:00
|
|
|
"vhost_user_block",
|
2020-01-20 16:10:21 +00:00
|
|
|
"vhost_user_net",
|
2020-07-15 09:37:57 +00:00
|
|
|
"virtio-devices",
|
|
|
|
"vmm",
|
2020-01-02 18:40:37 +00:00
|
|
|
"vm-allocator",
|
2020-07-15 09:37:57 +00:00
|
|
|
"vm-device",
|
|
|
|
"vm-migration",
|
|
|
|
"vm-virtio"
|
2019-09-26 11:32:24 +00:00
|
|
|
]
|