// Copyright 2022 The Chromium OS Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // TODO(b/210705746): See if we can bring in the changes compiled out from go/playcl/50499 use crate::test_integration::simple_vm_test; #[test] fn simple_kvm_test() { use devices::KvmKernelIrqChip; use hypervisor::kvm::*; simple_vm_test::<_, _, KvmVcpu, _, _, _>( |guest_mem| { let kvm = Kvm::new().expect("failed to create kvm"); let vm = KvmVm::new(&kvm, guest_mem, Default::default()).expect("failed to create kvm vm"); (kvm, vm) }, |vm, vcpu_count, _| { KvmKernelIrqChip::new(vm, vcpu_count).expect("failed to create KvmKernelIrqChip") }, ); } #[test] fn simple_kvm_kernel_irqchip_test() { use devices::KvmKernelIrqChip; use hypervisor::kvm::*; simple_vm_test::<_, _, KvmVcpu, _, _, _>( |guest_mem| { let kvm = Kvm::new().expect("failed to create kvm"); let vm = KvmVm::new(&kvm, guest_mem, Default::default()).expect("failed to create kvm vm"); (kvm, vm) }, |vm, vcpu_count, _| { KvmKernelIrqChip::new(vm, vcpu_count).expect("failed to create KvmKernelIrqChip") }, ); } #[test] fn simple_kvm_split_irqchip_test() { use devices::KvmSplitIrqChip; use hypervisor::kvm::*; simple_vm_test::<_, _, KvmVcpu, _, _, _>( |guest_mem| { let kvm = Kvm::new().expect("failed to create kvm"); let vm = KvmVm::new(&kvm, guest_mem, Default::default()).expect("failed to create kvm vm"); (kvm, vm) }, |vm, vcpu_count, device_tube| { KvmSplitIrqChip::new(vm, vcpu_count, device_tube, None) .expect("failed to create KvmSplitIrqChip") }, ); }