1[package] 2authors = ["The Cloud Hypervisor Authors"] 3edition = "2021" 4name = "vmm" 5version = "0.1.0" 6 7[features] 8dbus_api = ["blocking", "futures", "zbus"] 9default = [] 10dhat-heap = ["dhat"] # For heap profiling 11guest_debug = ["gdbstub", "gdbstub_arch", "kvm"] 12igvm = ["dep:igvm", "hex", "igvm_defs", "mshv-bindings", "range_map_vec"] 13io_uring = ["block/io_uring"] 14kvm = [ 15 "arch/kvm", 16 "hypervisor/kvm", 17 "pci/kvm", 18 "vfio-ioctls/kvm", 19 "vm-device/kvm", 20] 21mshv = ["hypervisor/mshv", "pci/mshv", "vfio-ioctls/mshv", "vm-device/mshv"] 22pvmemcontrol = ["devices/pvmemcontrol"] 23sev_snp = ["arch/sev_snp", "hypervisor/sev_snp", "virtio-devices/sev_snp"] 24tdx = ["arch/tdx", "hypervisor/tdx"] 25tracing = ["tracer/tracing"] 26 27[dependencies] 28acpi_tables = { workspace = true } 29anyhow = "1.0.94" 30arc-swap = "1.7.1" 31arch = { path = "../arch" } 32bitflags = "2.9.0" 33block = { path = "../block" } 34blocking = { version = "1.6.1", optional = true } 35cfg-if = "1.0.0" 36clap = "4.5.13" 37devices = { path = "../devices" } 38dhat = { version = "0.3.3", optional = true } 39epoll = "4.3.3" 40event_monitor = { path = "../event_monitor" } 41flume = "0.11.1" 42futures = { version = "0.3.31", optional = true } 43gdbstub = { version = "0.7.1", optional = true } 44gdbstub_arch = { version = "0.3.0", optional = true } 45hex = { version = "0.4.3", optional = true } 46hypervisor = { path = "../hypervisor" } 47igvm = { workspace = true, optional = true } 48igvm_defs = { workspace = true, optional = true } 49landlock = "0.4.0" 50libc = "0.2.167" 51linux-loader = { workspace = true, features = ["bzimage", "elf", "pe"] } 52log = "0.4.22" 53micro_http = { git = "https://github.com/firecracker-microvm/micro-http", branch = "main" } 54mshv-bindings = { workspace = true, features = [ 55 "fam-wrappers", 56 "with-serde", 57], optional = true } 58net_util = { path = "../net_util" } 59once_cell = "1.20.2" 60option_parser = { path = "../option_parser" } 61pci = { path = "../pci" } 62range_map_vec = { version = "0.2.0", optional = true } 63rate_limiter = { path = "../rate_limiter" } 64seccompiler = { workspace = true } 65serde = { version = "1.0.208", features = ["derive", "rc"] } 66serde_json = { workspace = true } 67serial_buffer = { path = "../serial_buffer" } 68signal-hook = "0.3.17" 69thiserror = "2.0.6" 70tracer = { path = "../tracer" } 71uuid = "1.12.1" 72vfio-ioctls = { workspace = true, default-features = false } 73vfio_user = { workspace = true } 74virtio-devices = { path = "../virtio-devices" } 75virtio-queue = { workspace = true } 76vm-allocator = { path = "../vm-allocator" } 77vm-device = { path = "../vm-device" } 78vm-memory = { workspace = true, features = [ 79 "backend-atomic", 80 "backend-bitmap", 81 "backend-mmap", 82] } 83vm-migration = { path = "../vm-migration" } 84vm-virtio = { path = "../vm-virtio" } 85vmm-sys-util = { workspace = true, features = ["with-serde"] } 86zbus = { version = "4.4.0", optional = true } 87zerocopy = { version = "0.8.24", features = ["alloc", "derive"] } 88