blob: 59cd1d4b5a9cf36a3bca3c3b929f8ab797d75665 [file] [log] [blame]
// 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")
},
);
}