diff --git a/vmm/src/vm.rs b/vmm/src/vm.rs index e18be4816..fdf69c01a 100644 --- a/vmm/src/vm.rs +++ b/vmm/src/vm.rs @@ -2753,17 +2753,6 @@ impl Snapshottable for Vm { ))); } - if let Some(cpu_manager_snapshot) = snapshot.snapshots.get(CPU_MANAGER_SNAPSHOT_ID) { - self.cpu_manager - .lock() - .unwrap() - .restore(*cpu_manager_snapshot.clone())?; - } else { - return Err(MigratableError::Restore(anyhow!( - "Missing CPU manager snapshot" - ))); - } - if let Some(device_manager_snapshot) = snapshot.snapshots.get(DEVICE_MANAGER_SNAPSHOT_ID) { self.device_manager .lock() @@ -2775,6 +2764,17 @@ impl Snapshottable for Vm { ))); } + if let Some(cpu_manager_snapshot) = snapshot.snapshots.get(CPU_MANAGER_SNAPSHOT_ID) { + self.cpu_manager + .lock() + .unwrap() + .restore(*cpu_manager_snapshot.clone())?; + } else { + return Err(MigratableError::Restore(anyhow!( + "Missing CPU manager snapshot" + ))); + } + #[cfg(target_arch = "aarch64")] self.restore_vgic_and_enable_interrupt(&snapshot)?;