From cd0df05808d7b124c195994d7c608a1f8ea35f2c Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Wed, 11 May 2022 17:10:04 +0100 Subject: [PATCH] vmm, arch: CpuId is x86_64 specific so import from the x86_64 module It will be removed as a top-level export from the hypervisor crate. Signed-off-by: Rob Bradford --- arch/src/x86_64/mod.rs | 3 ++- vmm/src/cpu.rs | 4 ++-- vmm/src/lib.rs | 4 ++-- vmm/src/vm.rs | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/arch/src/x86_64/mod.rs b/arch/src/x86_64/mod.rs index 3a1664d33..aab62a8ef 100644 --- a/arch/src/x86_64/mod.rs +++ b/arch/src/x86_64/mod.rs @@ -15,7 +15,8 @@ pub mod regs; use crate::GuestMemoryMmap; use crate::InitramfsConfig; use crate::RegionType; -use hypervisor::{CpuId, CpuIdEntry, HypervisorError, CPUID_FLAG_VALID_INDEX}; +use hypervisor::x86_64::{CpuId, CpuIdEntry, CPUID_FLAG_VALID_INDEX}; +use hypervisor::HypervisorError; use linux_loader::loader::bootparam::boot_params; use linux_loader::loader::elf::start_info::{ hvm_memmap_table_entry, hvm_modlist_entry, hvm_start_info, diff --git a/vmm/src/cpu.rs b/vmm/src/cpu.rs index 97c6c5b38..f4a8a037c 100644 --- a/vmm/src/cpu.rs +++ b/vmm/src/cpu.rs @@ -30,10 +30,10 @@ use devices::interrupt_controller::InterruptController; use gdbstub_arch::x86::reg::{X86SegmentRegs, X86_64CoreRegs}; #[cfg(target_arch = "aarch64")] use hypervisor::kvm::kvm_bindings; +#[cfg(target_arch = "x86_64")] +use hypervisor::x86_64::CpuId; #[cfg(all(target_arch = "x86_64", feature = "gdb"))] use hypervisor::x86_64::{SpecialRegisters, StandardRegisters}; -#[cfg(target_arch = "x86_64")] -use hypervisor::CpuId; use hypervisor::{CpuState, HypervisorCpuError, VmExit, VmOps}; #[cfg(feature = "tdx")] use hypervisor::{TdxExitDetails, TdxExitStatus}; diff --git a/vmm/src/lib.rs b/vmm/src/lib.rs index 06ff78207..ae51d9250 100644 --- a/vmm/src/lib.rs +++ b/vmm/src/lib.rs @@ -340,7 +340,7 @@ pub fn start_vmm_thread( struct VmMigrationConfig { vm_config: Arc>, #[cfg(all(feature = "kvm", target_arch = "x86_64"))] - common_cpuid: hypervisor::CpuId, + common_cpuid: hypervisor::x86_64::CpuId, memory_manager_data: MemoryManagerSnapshotData, } @@ -1498,7 +1498,7 @@ impl Vmm { fn vm_check_cpuid_compatibility( &self, src_vm_config: &Arc>, - src_vm_cpuid: &hypervisor::CpuId, + src_vm_cpuid: &hypervisor::x86_64::CpuId, ) -> result::Result<(), MigratableError> { // We check the `CPUID` compatibility of between the source vm and destination, which is // mostly about feature compatibility and "topology/sgx" leaves are not relevant. diff --git a/vmm/src/vm.rs b/vmm/src/vm.rs index 7535585d1..f94db1e7e 100644 --- a/vmm/src/vm.rs +++ b/vmm/src/vm.rs @@ -2603,7 +2603,7 @@ pub struct VmSnapshot { pub clock: Option, pub state: Option, #[cfg(all(feature = "kvm", target_arch = "x86_64"))] - pub common_cpuid: hypervisor::CpuId, + pub common_cpuid: hypervisor::x86_64::CpuId, } pub const VM_SNAPSHOT_ID: &str = "vm";