From cc234e4dc632fbb120bc008da6a72ec905410e46 Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Sat, 4 Jan 2020 11:37:35 +0000 Subject: [PATCH 1/2] vmm: Add a magic debug port similar to qemu qemu has an optional debug port, defaulting to 0xf4 to cause an immidiate exit from the VMM. Add this to firecracker DO NOT MERGE Signed-off-by: Rolf Neugebauer --- src/vmm/src/vstate.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/vmm/src/vstate.rs b/src/vmm/src/vstate.rs index 3210f78..40231fe 100644 --- a/src/vmm/src/vstate.rs +++ b/src/vmm/src/vstate.rs @@ -36,6 +36,7 @@ const KVM_MEM_LOG_DIRTY_PAGES: u32 = 0x1; #[cfg(target_arch = "x86_64")] const MAGIC_IOPORT_SIGNAL_GUEST_BOOT_COMPLETE: u64 = 0x03f0; +const MAGIC_IOPORT_DEBUG_EXIT: u64 = 0x00f4; #[cfg(target_arch = "aarch64")] const MAGIC_IOPORT_SIGNAL_GUEST_BOOT_COMPLETE: u64 = 0x40000000; const MAGIC_VALUE_SIGNAL_GUEST_BOOT_COMPLETE: u8 = 123; @@ -593,6 +594,10 @@ impl Vcpu { { super::Vmm::log_boot_time(&self.create_ts); } + if addr == MAGIC_IOPORT_DEBUG_EXIT + { + unsafe {libc::_exit(0); }; + } } /// Runs the vCPU in KVM context and handles the kvm exit reason. -- 2.17.1