diff --git a/vmm/src/lib.rs b/vmm/src/lib.rs index bce04caea..28fa28283 100644 --- a/vmm/src/lib.rs +++ b/vmm/src/lib.rs @@ -296,6 +296,12 @@ impl Vmm { let exit_evt = self.exit_evt.try_clone().map_err(VmError::EventFdClone)?; let reset_evt = self.reset_evt.try_clone().map_err(VmError::EventFdClone)?; + // The Linux kernel fires off an i8042 reset after doing the ACPI reset so there may be + // an event sitting in the shared reset_evt. Without doing this we get very early reboots + // during the boot process. + if self.reset_evt.read().is_ok() { + warn!("Spurious second reset event received. Ignoring."); + } self.vm = Some(Vm::new(config, exit_evt, reset_evt, self.vmm_path.clone())?); }