• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2022 The ChromiumOS Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // TODO(b/210705746): See if we can bring in the changes compiled out from go/playcl/50499
6 use crate::simple_vm_test;
7 
8 #[test]
simple_kvm_test()9 fn simple_kvm_test() {
10     use devices::KvmKernelIrqChip;
11     use hypervisor::kvm::*;
12     simple_vm_test::<_, _, KvmVcpu, _, _, _>(
13         |guest_mem| {
14             let kvm = Kvm::new().expect("failed to create kvm");
15             let vm =
16                 KvmVm::new(&kvm, guest_mem, Default::default()).expect("failed to create kvm vm");
17             (kvm, vm)
18         },
19         |vm, vcpu_count, _| {
20             KvmKernelIrqChip::new(vm, vcpu_count).expect("failed to create KvmKernelIrqChip")
21         },
22     );
23 }
24 
25 #[test]
simple_kvm_kernel_irqchip_test()26 fn simple_kvm_kernel_irqchip_test() {
27     use devices::KvmKernelIrqChip;
28     use hypervisor::kvm::*;
29     simple_vm_test::<_, _, KvmVcpu, _, _, _>(
30         |guest_mem| {
31             let kvm = Kvm::new().expect("failed to create kvm");
32             let vm =
33                 KvmVm::new(&kvm, guest_mem, Default::default()).expect("failed to create kvm vm");
34             (kvm, vm)
35         },
36         |vm, vcpu_count, _| {
37             KvmKernelIrqChip::new(vm, vcpu_count).expect("failed to create KvmKernelIrqChip")
38         },
39     );
40 }
41 
42 #[test]
simple_kvm_split_irqchip_test()43 fn simple_kvm_split_irqchip_test() {
44     use devices::KvmSplitIrqChip;
45     use hypervisor::kvm::*;
46     simple_vm_test::<_, _, KvmVcpu, _, _, _>(
47         |guest_mem| {
48             let kvm = Kvm::new().expect("failed to create kvm");
49             let vm =
50                 KvmVm::new(&kvm, guest_mem, Default::default()).expect("failed to create kvm vm");
51             (kvm, vm)
52         },
53         |vm, vcpu_count, device_tube| {
54             KvmSplitIrqChip::new(vm, vcpu_count, device_tube, None)
55                 .expect("failed to create KvmSplitIrqChip")
56         },
57     );
58 }
59