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 = ["hypervisor/kvm", "pci/kvm", "vfio-ioctls/kvm", "vm-device/kvm"] 15mshv = ["hypervisor/mshv", "pci/mshv", "vfio-ioctls/mshv", "vm-device/mshv"] 16sev_snp = ["arch/sev_snp", "hypervisor/sev_snp", "virtio-devices/sev_snp"] 17tdx = ["arch/tdx", "hypervisor/tdx"] 18tracing = ["tracer/tracing"] 19 20[dependencies] 21acpi_tables = { git = "https://github.com/rust-vmm/acpi_tables", branch = "main" } 22anyhow = "1.0.81" 23arc-swap = "1.7.1" 24arch = { path = "../arch" } 25bitflags = "2.5.0" 26block = { path = "../block" } 27blocking = { version = "1.6.1", optional = true } 28cfg-if = "1.0.0" 29clap = "4.5.4" 30devices = { path = "../devices" } 31dhat = { version = "0.3.3", optional = true } 32epoll = "4.3.3" 33event_monitor = { path = "../event_monitor" } 34flume = "0.11.0" 35futures = { version = "0.3.30", optional = true } 36gdbstub = { version = "0.7.1", optional = true } 37gdbstub_arch = { version = "0.3.0", optional = true } 38hex = { version = "0.4.3", optional = true } 39hypervisor = { path = "../hypervisor" } 40igvm = { version = "0.3.1", optional = true } 41igvm_defs = { version = "0.3.1", optional = true } 42landlock = "0.4.0" 43libc = "0.2.153" 44linux-loader = { version = "0.11.0", features = ["bzimage", "elf", "pe"] } 45log = "0.4.21" 46micro_http = { git = "https://github.com/firecracker-microvm/micro-http", branch = "main" } 47mshv-bindings = { git = "https://github.com/rust-vmm/mshv", tag = "v0.2.0", features = [ 48 "fam-wrappers", 49 "with-serde", 50], optional = true } 51net_util = { path = "../net_util" } 52once_cell = "1.19.0" 53option_parser = { path = "../option_parser" } 54pci = { path = "../pci" } 55range_map_vec = { version = "0.2.0", optional = true } 56rate_limiter = { path = "../rate_limiter" } 57seccompiler = "0.4.0" 58serde = { version = "1.0.197", features = ["derive", "rc"] } 59serde_json = "1.0.115" 60serial_buffer = { path = "../serial_buffer" } 61signal-hook = "0.3.17" 62thiserror = "1.0.60" 63tracer = { path = "../tracer" } 64uuid = "1.8.0" 65vfio-ioctls = { git = "https://github.com/rust-vmm/vfio", branch = "main", default-features = false } 66vfio_user = { git = "https://github.com/rust-vmm/vfio-user", branch = "main" } 67virtio-devices = { path = "../virtio-devices" } 68virtio-queue = "0.12.0" 69vm-allocator = { path = "../vm-allocator" } 70vm-device = { path = "../vm-device" } 71vm-memory = { version = "0.14.1", features = [ 72 "backend-atomic", 73 "backend-bitmap", 74 "backend-mmap", 75] } 76vm-migration = { path = "../vm-migration" } 77vm-virtio = { path = "../vm-virtio" } 78vmm-sys-util = { version = "0.12.1", features = ["with-serde"] } 79zbus = { version = "4.1.2", optional = true } 80zerocopy = { version = "0.7.32", features = ["alloc", "derive"] } 81