1[package] 2authors = ["The Cloud Hypervisor Authors"] 3build = "build.rs" 4default-run = "cloud-hypervisor" 5description = "Open source Virtual Machine Monitor (VMM) that runs on top of KVM & MSHV" 6edition = "2021" 7homepage = "https://github.com/cloud-hypervisor/cloud-hypervisor" 8license = "Apache-2.0 AND BSD-3-Clause" 9name = "cloud-hypervisor" 10version = "41.0.0" 11# Minimum buildable version: 12# Keep in sync with version in .github/workflows/build.yaml 13# Policy on MSRV (see #4318): 14# Can only be bumped by: 15# a.) A dependency requires it, 16# b.) If we want to use a new feature and that MSRV is at least 6 months old, 17# c.) There is a security issue that is addressed by the toolchain update. 18rust-version = "1.77.0" 19 20[profile.release] 21codegen-units = 1 22lto = true 23opt-level = "s" 24strip = true 25 26[profile.profiling] 27debug = true 28inherits = "release" 29strip = false 30 31[dependencies] 32anyhow = "1.0.87" 33api_client = { path = "api_client" } 34clap = { version = "4.5.13", features = ["string"] } 35dhat = { version = "0.3.3", optional = true } 36epoll = "4.3.3" 37event_monitor = { path = "event_monitor" } 38hypervisor = { path = "hypervisor" } 39libc = "0.2.158" 40log = { version = "0.4.22", features = ["std"] } 41option_parser = { path = "option_parser" } 42seccompiler = { workspace = true } 43serde_json = "1.0.120" 44signal-hook = "0.3.17" 45thiserror = "1.0.62" 46tpm = { path = "tpm" } 47tracer = { path = "tracer" } 48vm-memory = { workspace = true } 49vmm = { path = "vmm" } 50vmm-sys-util = { workspace = true } 51zbus = { version = "4.1.2", optional = true } 52 53[dev-dependencies] 54dirs = "5.0.1" 55net_util = { path = "net_util" } 56once_cell = "1.19.0" 57serde_json = "1.0.120" 58test_infra = { path = "test_infra" } 59wait-timeout = "0.2.0" 60 61# Please adjust `vmm::feature_list()` accordingly when changing the 62# feature list below 63[features] 64dbus_api = ["vmm/dbus_api", "zbus"] 65default = ["io_uring", "kvm"] 66dhat-heap = ["dhat", "vmm/dhat-heap"] # For heap profiling 67guest_debug = ["vmm/guest_debug"] 68igvm = ["mshv", "vmm/igvm"] 69io_uring = ["vmm/io_uring"] 70kvm = ["vmm/kvm"] 71mshv = ["vmm/mshv"] 72pvmemcontrol = ["vmm/pvmemcontrol"] 73sev_snp = ["igvm", "mshv", "vmm/sev_snp"] 74tdx = ["vmm/tdx"] 75tracing = ["tracer/tracing", "vmm/tracing"] 76 77[workspace] 78members = [ 79 "api_client", 80 "arch", 81 "block", 82 "devices", 83 "event_monitor", 84 "hypervisor", 85 "net_gen", 86 "net_util", 87 "option_parser", 88 "pci", 89 "performance-metrics", 90 "rate_limiter", 91 "serial_buffer", 92 "test_infra", 93 "tracer", 94 "vhost_user_block", 95 "vhost_user_net", 96 "virtio-devices", 97 "vm-allocator", 98 "vm-device", 99 "vm-migration", 100 "vm-virtio", 101 "vmm", 102] 103 104[workspace.dependencies] 105acpi_tables = { git = "https://github.com/rust-vmm/acpi_tables", branch = "main" } 106kvm-bindings = "0.9.1" 107kvm-ioctls = "0.18.0" 108linux-loader = "0.12.0" 109mshv-bindings = { git = "https://github.com/rust-vmm/mshv", tag = "v0.3.0" } 110mshv-ioctls = { git = "https://github.com/rust-vmm/mshv", tag = "v0.3.0" } 111seccompiler = "0.4.0" 112vfio-bindings = { git = "https://github.com/rust-vmm/vfio", branch = "main" } 113vfio-ioctls = { git = "https://github.com/rust-vmm/vfio", branch = "main" } 114vfio_user = { git = "https://github.com/rust-vmm/vfio-user", branch = "main" } 115vhost = "0.12.0" 116virtio-bindings = "0.2.2" 117virtio-queue = "0.13.0" 118vm-fdt = { git = "https://github.com/rust-vmm/vm-fdt", branch = "main" } 119vm-memory = "0.15.0" 120vmm-sys-util = "0.12.1" 121