@@ -26,7 +26,7 @@ use crate::vcpu::{VcpuConfig, VcpuError};
2626use crate :: vstate:: bus:: Bus ;
2727use crate :: vstate:: memory:: { Address , GuestMemoryMmap } ;
2828use crate :: vstate:: vcpu:: VcpuEmulation ;
29- use crate :: vstate:: vm:: Vm ;
29+ use crate :: vstate:: vm:: KvmVm ;
3030
3131/// Errors thrown while setting aarch64 registers.
3232#[ derive( Debug , PartialEq , Eq , thiserror:: Error , displaydoc:: Display ) ]
@@ -133,7 +133,7 @@ impl KvmVcpu {
133133 ///
134134 /// * `index` - Represents the 0-based CPU index between [0, max vcpus).
135135 /// * `vm` - The vm to which this vcpu will get attached.
136- pub fn new ( index : u8 , vm : & Vm ) -> Result < Self , KvmVcpuError > {
136+ pub fn new ( index : u8 , vm : & KvmVm ) -> Result < Self , KvmVcpuError > {
137137 let kvm_vcpu = vm
138138 . fd ( )
139139 . create_vcpu ( index. into ( ) )
@@ -561,27 +561,25 @@ mod tests {
561561 use crate :: cpu_config:: templates:: RegisterValueFilter ;
562562 use crate :: test_utils:: arch_mem;
563563 use crate :: vcpu:: VcpuConfig ;
564- use crate :: vstate:: kvm:: Kvm ;
565- use crate :: vstate:: vm:: Vm ;
566564 use crate :: vstate:: vm:: tests:: setup_vm_with_memory;
567565
568- fn setup_vcpu ( mem_size : usize ) -> ( Kvm , Vm , KvmVcpu ) {
569- let ( kvm , mut vm, mut vcpu) = setup_vcpu_no_init ( mem_size) ;
566+ fn setup_vcpu ( mem_size : usize ) -> ( KvmVm , KvmVcpu ) {
567+ let ( mut vm, mut vcpu) = setup_vcpu_no_init ( mem_size) ;
570568 vcpu. init ( & [ ] ) . unwrap ( ) ;
571569 vm. setup_irqchip ( 1 ) . unwrap ( ) ;
572- ( kvm , vm, vcpu)
570+ ( vm, vcpu)
573571 }
574572
575- fn setup_vcpu_no_init ( mem_size : usize ) -> ( Kvm , Vm , KvmVcpu ) {
576- let ( kvm , vm ) = setup_vm_with_memory ( mem_size) ;
573+ fn setup_vcpu_no_init ( mem_size : usize ) -> ( KvmVm , KvmVcpu ) {
574+ let vm = setup_vm_with_memory ( mem_size) ;
577575 let vcpu = KvmVcpu :: new ( 0 , & vm) . unwrap ( ) ;
578576
579- ( kvm , vm, vcpu)
577+ ( vm, vcpu)
580578 }
581579
582580 #[ test]
583581 fn test_create_vcpu ( ) {
584- let ( _ , vm ) = setup_vm_with_memory ( 0x1000 ) ;
582+ let vm = setup_vm_with_memory ( 0x1000 ) ;
585583
586584 unsafe { libc:: close ( vm. fd ( ) . as_raw_fd ( ) ) } ;
587585
@@ -600,8 +598,8 @@ mod tests {
600598
601599 #[ test]
602600 fn test_configure_vcpu ( ) {
603- let ( kvm , vm, mut vcpu) = setup_vcpu ( 0x10000 ) ;
604- let optional_capabilities = kvm. optional_capabilities ( ) ;
601+ let ( vm, mut vcpu) = setup_vcpu ( 0x10000 ) ;
602+ let optional_capabilities = vm . kvm ( ) . optional_capabilities ( ) ;
605603
606604 let vcpu_config = VcpuConfig {
607605 vcpu_count : 1 ,
@@ -649,7 +647,7 @@ mod tests {
649647
650648 #[ test]
651649 fn test_init_vcpu ( ) {
652- let ( _ , mut vm) = setup_vm_with_memory ( 0x1000 ) ;
650+ let mut vm = setup_vm_with_memory ( 0x1000 ) ;
653651 let mut vcpu = KvmVcpu :: new ( 0 , & vm) . unwrap ( ) ;
654652 vm. setup_irqchip ( 1 ) . unwrap ( ) ;
655653
@@ -668,7 +666,7 @@ mod tests {
668666
669667 #[ test]
670668 fn test_pmu_v3_feature_invalid ( ) {
671- let ( _ , mut vm) = setup_vm_with_memory ( 0x1000 ) ;
669+ let mut vm = setup_vm_with_memory ( 0x1000 ) ;
672670 let mut vcpu = KvmVcpu :: new ( 0 , & vm) . unwrap ( ) ;
673671 vm. setup_irqchip ( 1 ) . unwrap ( ) ;
674672
@@ -688,7 +686,7 @@ mod tests {
688686
689687 #[ test]
690688 fn test_vcpu_save_restore_state ( ) {
691- let ( _ , mut vm) = setup_vm_with_memory ( 0x1000 ) ;
689+ let mut vm = setup_vm_with_memory ( 0x1000 ) ;
692690 let mut vcpu = KvmVcpu :: new ( 0 , & vm) . unwrap ( ) ;
693691 vm. setup_irqchip ( 1 ) . unwrap ( ) ;
694692
@@ -732,7 +730,7 @@ mod tests {
732730 //
733731 // This should fail with ENOEXEC.
734732 // https://elixir.bootlin.com/linux/v5.10.176/source/arch/arm64/kvm/arm.c#L1165
735- let ( _ , mut vm) = setup_vm_with_memory ( 0x1000 ) ;
733+ let mut vm = setup_vm_with_memory ( 0x1000 ) ;
736734 let vcpu = KvmVcpu :: new ( 0 , & vm) . unwrap ( ) ;
737735 vm. setup_irqchip ( 1 ) . unwrap ( ) ;
738736
@@ -742,7 +740,7 @@ mod tests {
742740 #[ test]
743741 fn test_dump_cpu_config_after_init ( ) {
744742 // Test `dump_cpu_config()` after `KVM_VCPU_INIT`.
745- let ( _ , mut vm) = setup_vm_with_memory ( 0x1000 ) ;
743+ let mut vm = setup_vm_with_memory ( 0x1000 ) ;
746744 let mut vcpu = KvmVcpu :: new ( 0 , & vm) . unwrap ( ) ;
747745 vm. setup_irqchip ( 1 ) . unwrap ( ) ;
748746 vcpu. init ( & [ ] ) . unwrap ( ) ;
@@ -752,7 +750,7 @@ mod tests {
752750
753751 #[ test]
754752 fn test_setup_non_boot_vcpu ( ) {
755- let ( _ , vm ) = setup_vm_with_memory ( 0x1000 ) ;
753+ let vm = setup_vm_with_memory ( 0x1000 ) ;
756754 let mut vcpu1 = KvmVcpu :: new ( 0 , & vm) . unwrap ( ) ;
757755 vcpu1. init ( & [ ] ) . unwrap ( ) ;
758756 let mut vcpu2 = KvmVcpu :: new ( 1 , & vm) . unwrap ( ) ;
@@ -764,24 +762,24 @@ mod tests {
764762 // Test `get_regs()` with valid register IDs.
765763 // - X0: 0x6030 0000 0010 0000
766764 // - X1: 0x6030 0000 0010 0002
767- let ( _, _ , vcpu) = setup_vcpu ( 0x10000 ) ;
765+ let ( _, vcpu) = setup_vcpu ( 0x10000 ) ;
768766 let reg_list = Vec :: < u64 > :: from ( [ 0x6030000000100000 , 0x6030000000100002 ] ) ;
769767 get_registers ( & vcpu. fd , & reg_list, & mut Aarch64RegisterVec :: default ( ) ) . unwrap ( ) ;
770768 }
771769
772770 #[ test]
773771 fn test_get_invalid_regs ( ) {
774772 // Test `get_regs()` with invalid register IDs.
775- let ( _, _ , vcpu) = setup_vcpu ( 0x10000 ) ;
773+ let ( _, vcpu) = setup_vcpu ( 0x10000 ) ;
776774 let reg_list = Vec :: < u64 > :: from ( [ 0x6030000000100001 , 0x6030000000100003 ] ) ;
777775 get_registers ( & vcpu. fd , & reg_list, & mut Aarch64RegisterVec :: default ( ) ) . unwrap_err ( ) ;
778776 }
779777
780778 #[ test]
781779 fn test_setup_regs ( ) {
782- let ( kvm , _ , vcpu) = setup_vcpu_no_init ( 0x10000 ) ;
780+ let ( vm , vcpu) = setup_vcpu_no_init ( 0x10000 ) ;
783781 let mem = arch_mem ( layout:: FDT_MAX_SIZE + 0x1000 ) ;
784- let optional_capabilities = kvm. optional_capabilities ( ) ;
782+ let optional_capabilities = vm . kvm ( ) . optional_capabilities ( ) ;
785783
786784 let res = vcpu. setup_boot_regs ( 0x0 , & mem, & optional_capabilities) ;
787785 assert ! ( matches!(
@@ -816,7 +814,7 @@ mod tests {
816814
817815 #[ test]
818816 fn test_read_mpidr ( ) {
819- let ( _, _ , vcpu) = setup_vcpu_no_init ( 0x10000 ) ;
817+ let ( _, vcpu) = setup_vcpu_no_init ( 0x10000 ) ;
820818
821819 // Must fail when vcpu is not initialized yet.
822820 let res = vcpu. get_mpidr ( ) ;
@@ -831,7 +829,7 @@ mod tests {
831829
832830 #[ test]
833831 fn test_get_set_regs ( ) {
834- let ( _, _ , vcpu) = setup_vcpu_no_init ( 0x10000 ) ;
832+ let ( _, vcpu) = setup_vcpu_no_init ( 0x10000 ) ;
835833
836834 // Must fail when vcpu is not initialized yet.
837835 let mut regs = Aarch64RegisterVec :: default ( ) ;
@@ -849,7 +847,7 @@ mod tests {
849847 fn test_mpstate ( ) {
850848 use std:: os:: unix:: io:: AsRawFd ;
851849
852- let ( _, _ , vcpu) = setup_vcpu ( 0x10000 ) ;
850+ let ( _, vcpu) = setup_vcpu ( 0x10000 ) ;
853851
854852 let res = vcpu. get_mpstate ( ) ;
855853 vcpu. set_mpstate ( res. unwrap ( ) ) . unwrap ( ) ;
0 commit comments