2019-02-21 17:04:44 +01:00
|
|
|
[package]
|
|
|
|
name = "cloud-hypervisor"
|
2024-02-14 16:12:19 -08:00
|
|
|
version = "38.0.0"
|
2019-02-21 17:04:44 +01: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-12 21:11:03 -08:00
|
|
|
build = "build.rs"
|
2020-08-09 11:39:31 +02: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 12:35:29 -08: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-02-29 11:35:31 +00:00
|
|
|
rust-version = "1.74"
|
2019-02-21 17:04:44 +01:00
|
|
|
|
2020-06-17 18:15:52 +01:00
|
|
|
[profile.release]
|
|
|
|
lto = true
|
2022-08-11 11:35:26 +00:00
|
|
|
codegen-units = 1
|
|
|
|
opt-level = "s"
|
2022-11-20 06:02:41 -05:00
|
|
|
strip = true
|
2020-06-17 18:15:52 +01:00
|
|
|
|
2023-01-17 12:52:20 +00:00
|
|
|
[profile.profiling]
|
|
|
|
inherits = "release"
|
|
|
|
strip = false
|
|
|
|
debug = true
|
|
|
|
|
2019-02-21 17:04:44 +01:00
|
|
|
[dependencies]
|
2024-01-08 22:39:02 +00:00
|
|
|
anyhow = "1.0.79"
|
2020-10-23 11:20:37 +01:00
|
|
|
api_client = { path = "api_client" }
|
2024-02-29 20:08:49 +00:00
|
|
|
clap = { version = "4.5.1", 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-07 17:50:38 -07:00
|
|
|
hypervisor = { path = "hypervisor" }
|
2024-02-07 23:15:53 +00:00
|
|
|
libc = "0.2.153"
|
2023-11-23 23:47:38 +00:00
|
|
|
log = { version = "0.4.20", features = ["std"] }
|
2020-09-08 15:51:00 +01:00
|
|
|
option_parser = { path = "option_parser" }
|
2023-10-30 11:31:10 -07:00
|
|
|
seccompiler = "0.4.0"
|
2024-01-01 23:24:19 +00:00
|
|
|
serde_json = "1.0.109"
|
2023-08-01 23:45:19 +00:00
|
|
|
signal-hook = "0.3.17"
|
2023-12-29 23:11:34 +00:00
|
|
|
thiserror = "1.0.52"
|
2022-09-08 06:02:26 +00:00
|
|
|
tpm = { path = "tpm"}
|
2022-06-21 15:01:26 +01:00
|
|
|
tracer = { path = "tracer" }
|
2019-06-03 16:40:09 +02: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 09:29:40 -08:00
|
|
|
vmm-sys-util = "0.12.1"
|
|
|
|
vm-memory = "0.14.0"
|
2023-03-29 15:08:04 +03:00
|
|
|
zbus = { version = "3.11.1", optional = true }
|
2019-05-23 16:45:13 +01:00
|
|
|
|
2020-10-07 19:14:13 +02:00
|
|
|
# List of patched crates
|
2021-02-23 15:01:31 +01: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 09:29:40 -08:00
|
|
|
kvm-bindings = { git = "https://github.com/cloud-hypervisor/kvm-bindings", branch = "ch-v0.7.0" }
|
|
|
|
versionize_derive = { git = "https://github.com/cloud-hypervisor/versionize_derive", branch = "ch-0.1.6" }
|
2021-02-23 15:01:31 +01:00
|
|
|
|
2019-05-23 16:45:13 +01:00
|
|
|
[dev-dependencies]
|
2023-04-12 23:57:37 +00:00
|
|
|
dirs = "5.0.0"
|
2020-05-15 10:19:51 +01:00
|
|
|
net_util = { path = "net_util" }
|
2023-12-21 23:35:50 +00:00
|
|
|
once_cell = "1.19.0"
|
2024-01-01 23:24:19 +00:00
|
|
|
serde_json = "1.0.109"
|
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 16:45:13 +01:00
|
|
|
|
2023-10-04 11:20:34 -07:00
|
|
|
# Please adjust `vmm::feature_list()` accordingly when changing the
|
|
|
|
# feature list below
|
2019-05-23 16:45:13 +01:00
|
|
|
[features]
|
2023-07-10 11:55:55 +02:00
|
|
|
default = ["kvm", "io_uring"]
|
2023-03-29 15:08:04 +03:00
|
|
|
dbus_api = ["zbus", "vmm/dbus_api"]
|
2023-01-17 12:53:55 +00:00
|
|
|
dhat-heap = ["dhat"] # For heap profiling
|
2022-05-10 19:21:02 +08:00
|
|
|
guest_debug = ["vmm/guest_debug"]
|
2023-10-04 18:07:45 -07:00
|
|
|
igvm = ["vmm/igvm", "mshv"]
|
2023-07-10 11:55:55 +02:00
|
|
|
io_uring = ["vmm/io_uring"]
|
2020-07-07 11:06:40 +00:00
|
|
|
kvm = ["vmm/kvm"]
|
2020-12-03 14:14:04 -08:00
|
|
|
mshv = ["vmm/mshv"]
|
2023-10-04 18:07:45 -07:00
|
|
|
sev_snp = ["igvm", "vmm/sev_snp", "mshv"]
|
2021-02-03 10:02:18 +00:00
|
|
|
tdx = ["vmm/tdx"]
|
2022-06-21 15:01:26 +01:00
|
|
|
tracing = ["vmm/tracing", "tracer/tracing"]
|
2019-05-23 16:45:13 +01:00
|
|
|
|
2019-07-16 10:54:33 +01:00
|
|
|
[workspace]
|
2019-09-26 19:32:24 +08:00
|
|
|
members = [
|
2020-10-23 11:20:37 +01:00
|
|
|
"api_client",
|
2020-01-02 18:40:37 +00:00
|
|
|
"arch",
|
2023-07-12 10:24:28 +08:00
|
|
|
"block",
|
2020-01-02 18:40:37 +00:00
|
|
|
"devices",
|
2021-02-17 11:16:00 +00:00
|
|
|
"event_monitor",
|
2020-07-15 10:37:57 +01:00
|
|
|
"hypervisor",
|
|
|
|
"net_gen",
|
|
|
|
"net_util",
|
|
|
|
"option_parser",
|
2020-01-02 18:40:37 +00:00
|
|
|
"pci",
|
2022-01-10 21:27:58 -08:00
|
|
|
"performance-metrics",
|
2021-03-22 11:23:51 -07:00
|
|
|
"rate_limiter",
|
2022-08-25 10:26:59 +02:00
|
|
|
"serial_buffer",
|
2022-03-04 15:37:39 +00:00
|
|
|
"test_infra",
|
2022-06-21 15:01:26 +01:00
|
|
|
"tracer",
|
2020-07-15 10:37:57 +01:00
|
|
|
"vhost_user_block",
|
2020-01-20 16:10:21 +00:00
|
|
|
"vhost_user_net",
|
2020-07-15 10:37:57 +01:00
|
|
|
"virtio-devices",
|
|
|
|
"vmm",
|
2020-01-02 18:40:37 +00:00
|
|
|
"vm-allocator",
|
2020-07-15 10:37:57 +01:00
|
|
|
"vm-device",
|
|
|
|
"vm-migration",
|
|
|
|
"vm-virtio"
|
2019-09-26 19:32:24 +08:00
|
|
|
]
|