xref: /cloud-hypervisor/vmm/Cargo.toml (revision bc6acb842f1ebb263245cd95fe5a92fe5f350bd3)
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