From b1dc374e9b8611cb0ca0b65a8f5618cc3fb9403e Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Sat, 4 Jan 2020 17:26:26 +0000 Subject: [PATCH] Add Magic port to exit DO NOT MERGE Signed-off-by: Rolf Neugebauer --- vmm/src/cpu.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vmm/src/cpu.rs b/vmm/src/cpu.rs index 7eae968..73a34b8 100644 --- a/vmm/src/cpu.rs +++ b/vmm/src/cpu.rs @@ -33,6 +33,9 @@ use vmm_sys_util::signal::{register_signal_handler, SIGRTMIN}; const DEBUG_IOPORT: u16 = 0x80; const DEBUG_IOPORT_PREFIX: &str = "Debug I/O port"; +// Hack +const MAGIC_IOPORT_DEBUG_EXIT: u16 = 0x00f4; + /// Debug I/O port, see: /// https://www.intel.com/content/www/us/en/support/articles/000005500/boards-and-kits.html /// @@ -314,6 +317,9 @@ impl Vcpu { Ok(true) } VcpuExit::IoOut(addr, data) => { + if addr == MAGIC_IOPORT_DEBUG_EXIT { + unsafe {libc::_exit(0); }; + } if addr == DEBUG_IOPORT && data.len() == 1 { self.log_debug_ioport(data[0]); } -- 2.17.1