xref: /cloud-hypervisor/vmm/Cargo.toml (revision 2fe7f54ece2a8f0461ed29aaeab41614f1f2da75)
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.6.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 = { version = "0.3.3", optional = true }
48igvm_defs = { version = "0.3.1", 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 = "1.0.120"
67serial_buffer = { path = "../serial_buffer" }
68signal-hook = "0.3.17"
69thiserror = "2.0.6"
70tracer = { path = "../tracer" }
71uuid = "1.8.0"
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.7.35", features = ["alloc", "derive"] }
88