mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-11 12:35:26 +00:00
We are going to need to start passing a new arch-dependent configuration parameter to KvmVm::new in addition to protection_type. Since we can't [cfg] a function argument, and to avoid churning the tests the next time we need another argument, let's create a hypervisor::Config struct and start passing protection_type that way. Bug: b:234779841 Change-Id: I42ce9438b064658ebb9732e78ee5c82dac2636b6 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3892140 Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Commit-Queue: Peter Collingbourne <pcc@chromium.org>
58 lines
1.9 KiB
Rust
58 lines
1.9 KiB
Rust
// 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")
|
|
},
|
|
);
|
|
}
|