diff --git a/cloud-hypervisor/Cargo.toml b/cloud-hypervisor/Cargo.toml index 7c4cc7e0c..f8e78409b 100644 --- a/cloud-hypervisor/Cargo.toml +++ b/cloud-hypervisor/Cargo.toml @@ -48,13 +48,13 @@ default = ["io_uring", "kvm"] dhat-heap = ["dhat", "vmm/dhat-heap"] # For heap profiling fw_cfg = ["vmm/fw_cfg"] guest_debug = ["vmm/guest_debug"] -igvm = ["mshv", "vmm/igvm"] +igvm = ["vmm/igvm"] io_uring = ["vmm/io_uring"] ivshmem = ["vmm/ivshmem"] kvm = ["vmm/kvm"] mshv = ["vmm/mshv"] pvmemcontrol = ["vmm/pvmemcontrol"] -sev_snp = ["igvm", "mshv", "vmm/sev_snp"] +sev_snp = ["igvm", "vmm/sev_snp"] tdx = ["vmm/tdx"] tracing = ["tracer/tracing", "vmm/tracing"] diff --git a/cloud-hypervisor/src/main.rs b/cloud-hypervisor/src/main.rs index 9cb9fe9e4..6b0a84ba5 100644 --- a/cloud-hypervisor/src/main.rs +++ b/cloud-hypervisor/src/main.rs @@ -900,6 +900,10 @@ fn main() { compile_error!("Feature 'sev_snp' needs target 'x86_64'"); #[cfg(all(feature = "fw_cfg", target_arch = "riscv64"))] compile_error!("Feature 'fw_cfg' needs targets 'x86_64' or 'aarch64'"); + #[cfg(all(feature = "igvm", not(any(feature = "kvm", feature = "mshv"))))] + compile_error!("Feature 'igvm' needs feature 'kvm' or 'mshv'"); + #[cfg(all(feature = "sev_snp", not(any(feature = "kvm", feature = "mshv"))))] + compile_error!("Feature 'sev_snp' needs feature 'kvm' or 'mshv'"); #[cfg(feature = "dhat-heap")] let _profiler = dhat::Profiler::new_heap();