mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2025-03-20 07:58:55 +00:00
Implement (most) of the client side (i.e. VMM side) of the vfio-user protocol: https://github.com/nutanix/libvfio-user/blob/master/docs/vfio-user.rst Items that are not implemented (because they are optimisations or unused due to alternative solutions: * VFIO_USER_DMA_READ/WRITE - this is a way for the server to read guest memory if the guest memory is not shared by fd where the client doesn't support it. However since we do support sharing the memory by fd this is not required. * VFIO_USER_GET_REGION_IO_FDS - an optimisation to bypass the VMM by having KVM talk directly to the backend using ioregionfd * VFIO_USER_DIRTY_PAGES - for the implementation of live migration Signed-off-by: Rob Bradford <robert.bradford@intel.com>
92 lines
2.3 KiB
TOML
92 lines
2.3 KiB
TOML
[package]
|
|
name = "cloud-hypervisor"
|
|
version = "17.0.0"
|
|
authors = ["The Cloud Hypervisor Authors"]
|
|
edition = "2018"
|
|
default-run = "cloud-hypervisor"
|
|
build = "build.rs"
|
|
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"
|
|
|
|
[profile.release]
|
|
lto = true
|
|
|
|
[dependencies]
|
|
anyhow = "1.0.42"
|
|
api_client = { path = "api_client" }
|
|
clap = { version = "2.33.3", features = ["wrap_help"] }
|
|
epoll = "4.3.1"
|
|
event_monitor = { path = "event_monitor" }
|
|
hypervisor = { path = "hypervisor" }
|
|
libc = "0.2.99"
|
|
log = { version = "0.4.14", features = ["std"] }
|
|
option_parser = { path = "option_parser" }
|
|
seccomp = { git = "https://github.com/firecracker-microvm/firecracker", tag = "v0.24.5" }
|
|
serde_json = "1.0.66"
|
|
signal-hook = "0.3.9"
|
|
thiserror = "1.0.26"
|
|
vmm = { path = "vmm" }
|
|
vmm-sys-util = "0.8.0"
|
|
vm-memory = "0.6.0"
|
|
|
|
[build-dependencies]
|
|
clap = { version = "2.33.3", features = ["wrap_help"] }
|
|
|
|
# List of patched crates
|
|
[patch.crates-io]
|
|
kvm-bindings = { git = "https://github.com/cloud-hypervisor/kvm-bindings", branch = "ch-v0.4.0", features = ["with-serde", "fam-wrappers"] }
|
|
versionize_derive = { git = "https://github.com/cloud-hypervisor/versionize_derive", branch = "ch" }
|
|
|
|
[dev-dependencies]
|
|
credibility = "0.1.3"
|
|
dirs = "3.0.2"
|
|
lazy_static= "1.4.0"
|
|
net_util = { path = "net_util" }
|
|
serde_json = "1.0.66"
|
|
test_infra = { path = "test_infra" }
|
|
wait-timeout = "0.2.0"
|
|
|
|
[features]
|
|
default = ["acpi", "cmos", "io_uring", "kvm"]
|
|
# Common features for all hypervisors
|
|
common = ["acpi", "cmos", "fwdebug", "io_uring"]
|
|
acpi = ["vmm/acpi"]
|
|
cmos = ["vmm/cmos"]
|
|
fwdebug = ["vmm/fwdebug"]
|
|
kvm = ["vmm/kvm"]
|
|
mshv = ["vmm/mshv"]
|
|
io_uring = ["vmm/io_uring"]
|
|
tdx = ["vmm/tdx"]
|
|
|
|
# Integration tests require a special environment to run in
|
|
integration_tests = []
|
|
|
|
[workspace]
|
|
members = [
|
|
"acpi_tables",
|
|
"api_client",
|
|
"arch",
|
|
"block_util",
|
|
"devices",
|
|
"event_monitor",
|
|
"hypervisor",
|
|
"net_gen",
|
|
"net_util",
|
|
"option_parser",
|
|
"pci",
|
|
"qcow",
|
|
"rate_limiter",
|
|
"vfio_user",
|
|
"vhost_user_backend",
|
|
"vhost_user_block",
|
|
"vhost_user_net",
|
|
"virtio-devices",
|
|
"vmm",
|
|
"vm-allocator",
|
|
"vm-device",
|
|
"vm-migration",
|
|
"vm-virtio"
|
|
]
|
|
exclude = ["test_infra"]
|