From 10b954e954664abdf7f037cd979a58416320bb71 Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Thu, 2 Sep 2021 09:44:08 +0000 Subject: [PATCH] build: use vfio-ioctls that supports MSHV Disable default features and propagate hypervisor selection where necessary. Signed-off-by: Wei Liu --- Cargo.lock | 4 +++- fuzz/Cargo.lock | 2 +- pci/Cargo.toml | 7 ++++++- vm-device/Cargo.toml | 1 + vmm/Cargo.toml | 4 ++-- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d83391ea1..4b66ce27a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1147,12 +1147,14 @@ dependencies = [ [[package]] name = "vfio-ioctls" version = "0.1.0" -source = "git+https://github.com/rust-vmm/vfio-ioctls?branch=main#1080e8079976a44fd80311907cadd541a062b4bc" +source = "git+https://github.com/rust-vmm/vfio-ioctls?branch=main#a8ee64b978ccd000df88732814d626651a091891" dependencies = [ "byteorder", "kvm-bindings", "kvm-ioctls", "log", + "mshv-bindings", + "mshv-ioctls", "vfio-bindings", "vm-memory", "vmm-sys-util", diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index 537468a5d..0e2d549d2 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -699,7 +699,7 @@ dependencies = [ [[package]] name = "vfio-ioctls" version = "0.1.0" -source = "git+https://github.com/rust-vmm/vfio-ioctls?branch=main#1080e8079976a44fd80311907cadd541a062b4bc" +source = "git+https://github.com/rust-vmm/vfio-ioctls?branch=main#a8ee64b978ccd000df88732814d626651a091891" dependencies = [ "byteorder", "kvm-bindings", diff --git a/pci/Cargo.toml b/pci/Cargo.toml index 9b9290277..b8e5de76e 100644 --- a/pci/Cargo.toml +++ b/pci/Cargo.toml @@ -4,11 +4,16 @@ version = "0.1.0" authors = ["Samuel Ortiz "] edition = "2018" +[features] +default = [] +kvm = ["vfio-ioctls/kvm"] +mshv = ["vfio-ioctls/mshv"] + [dependencies] anyhow = "1.0.43" byteorder = "1.4.3" hypervisor = { path = "../hypervisor" } -vfio-ioctls = { git = "https://github.com/rust-vmm/vfio-ioctls", branch = "main" } +vfio-ioctls = { git = "https://github.com/rust-vmm/vfio-ioctls", branch = "main", default-features = false } vfio_user = { path = "../vfio_user" } vmm-sys-util = "0.8.0" libc = "0.2.101" diff --git a/vm-device/Cargo.toml b/vm-device/Cargo.toml index b30775c47..89e09376d 100644 --- a/vm-device/Cargo.toml +++ b/vm-device/Cargo.toml @@ -7,6 +7,7 @@ edition = "2018" [features] default = [] kvm = ["vfio-ioctls/kvm"] +mshv = ["vfio-ioctls/mshv"] [dependencies] anyhow = "1.0.43" diff --git a/vmm/Cargo.toml b/vmm/Cargo.toml index 7a9eb8d7f..cbb39c291 100644 --- a/vmm/Cargo.toml +++ b/vmm/Cargo.toml @@ -9,8 +9,8 @@ default = [] acpi = ["acpi_tables","devices/acpi", "arch/acpi"] cmos = ["devices/cmos"] fwdebug = ["devices/fwdebug"] -kvm = ["hypervisor/kvm", "vfio-ioctls/kvm", "vm-device/kvm"] -mshv = ["hypervisor/mshv", "virtio-devices/mshv"] +kvm = ["hypervisor/kvm", "vfio-ioctls/kvm", "vm-device/kvm", "pci/kvm"] +mshv = ["hypervisor/mshv", "virtio-devices/mshv", "vfio-ioctls/mshv", "vm-device/mshv", "pci/mshv"] io_uring = ["virtio-devices/io_uring"] tdx = ["arch/tdx", "hypervisor/tdx"]