diff --git a/arch/src/aarch64/fdt.rs b/arch/src/aarch64/fdt.rs index 5ad3f23de..9df96c464 100644 --- a/arch/src/aarch64/fdt.rs +++ b/arch/src/aarch64/fdt.rs @@ -531,7 +531,7 @@ mod tests { use super::*; use crate::aarch64::gic::create_gic; use crate::aarch64::layout; - use kvm_ioctls::Kvm; + use std::sync::Arc; const LEN: u64 = 4096; @@ -585,8 +585,10 @@ mod tests { .iter() .cloned() .collect(); - let kvm = Kvm::new().unwrap(); - let vm = kvm.create_vm().unwrap(); + + let kvm = hypervisor::kvm::KvmHypervisor::new().unwrap(); + let hv: Arc = Arc::new(kvm); + let vm = hv.create_vm().unwrap(); let gic = create_gic(&vm, 1).unwrap(); assert!(create_fdt( &mem, diff --git a/arch/src/aarch64/gic.rs b/arch/src/aarch64/gic.rs index 2a971693d..1ec924446 100644 --- a/arch/src/aarch64/gic.rs +++ b/arch/src/aarch64/gic.rs @@ -146,14 +146,14 @@ pub fn create_gic(vm: &Arc, vcpu_count: u64) -> Result = Arc::new(kvm); + let vm = hv.create_vm().unwrap(); + assert!(create_gic(&vm, 1).is_ok()); } } diff --git a/arch/src/aarch64/regs.rs b/arch/src/aarch64/regs.rs index 1dbe7025c..6c471cfa0 100644 --- a/arch/src/aarch64/regs.rs +++ b/arch/src/aarch64/regs.rs @@ -159,13 +159,13 @@ pub fn read_mpidr(vcpu: &Arc) -> Result { mod tests { use super::*; use crate::aarch64::layout; - use kvm_ioctls::Kvm; use vm_memory::{GuestAddress, GuestMemoryMmap}; #[test] fn test_setup_regs() { - let kvm = Kvm::new().unwrap(); - let vm = kvm.create_vm().unwrap(); + let kvm = hypervisor::kvm::KvmHypervisor::new().unwrap(); + let hv: Arc = Arc::new(kvm); + let vm = hv.create_vm().unwrap(); let vcpu = vm.create_vcpu(0).unwrap(); let mut regions = Vec::new(); regions.push(( @@ -174,10 +174,6 @@ mod tests { )); let mem = GuestMemoryMmap::from_ranges(®ions).expect("Cannot initialize memory"); - match setup_regs(&vcpu, 0, 0x0, &mem).unwrap_err() { - Error::SetCoreRegister(ref e) => assert_eq!(e.errno(), libc::ENOEXEC), - _ => panic!("Expected to receive Error::SetCoreRegister"), - } let mut kvi: kvm_bindings::kvm_vcpu_init = kvm_bindings::kvm_vcpu_init::default(); vm.get_preferred_target(&mut kvi).unwrap(); vcpu.vcpu_init(&kvi).unwrap(); @@ -186,8 +182,9 @@ mod tests { } #[test] fn test_read_mpidr() { - let kvm = Kvm::new().unwrap(); - let vm = kvm.create_vm().unwrap(); + let kvm = hypervisor::kvm::KvmHypervisor::new().unwrap(); + let hv: Arc = Arc::new(kvm); + let vm = hv.create_vm().unwrap(); let vcpu = vm.create_vcpu(0).unwrap(); let mut kvi: kvm_bindings::kvm_vcpu_init = kvm_bindings::kvm_vcpu_init::default(); vm.get_preferred_target(&mut kvi).unwrap();