From 5a337ac3c4d0ae3b078912396b90de35fa11e7f0 Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Tue, 18 Sep 2012 11:45:13 +0200 Subject: [PATCH] kvm tools: don't exit on debug ioport write While it shouldn't happen on regular guests, we sometimes hit it when fuzzing within the guest, which would cause the lkvm process to exit - which is undesired. Our PIT tests were using the debug port to trigger a reboot. Instead of using that port we now use the reboot line of our i8042 controller. Signed-off-by: Sasha Levin Signed-off-by: Pekka Enberg --- tools/kvm/tests/pit/tick.S | 14 +++----------- tools/kvm/x86/ioport.c | 2 +- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/tools/kvm/tests/pit/tick.S b/tools/kvm/tests/pit/tick.S index b9e5a80b9fea..635dc8dd46bc 100644 --- a/tools/kvm/tests/pit/tick.S +++ b/tools/kvm/tests/pit/tick.S @@ -4,15 +4,6 @@ #define TIMER_FREQ 1193182 #define TIMER_DIV(x) ((TIMER_FREQ+(x)/2)/(x)) -/* - * hpa noted: - * - * 0xe0..0xef are "motherboard specific", but 0xe9 is - * used for Bochs debugging and 0xed is the Phoenix-reserved - * delay port - */ -#define DBG_PORT 0xe0 - #define TEST_COUNT 0x0200 .code16gcc @@ -82,8 +73,9 @@ test_ok: mov $(msg2_end-msg2), %cx cs rep/outsb - /* not a valid port to force exit */ - outb %al, $DBG_PORT + /* Reboot by using the i8042 reboot line */ + mov $0xfe, %al + outb %al, $0x64 timer_isr: cli diff --git a/tools/kvm/x86/ioport.c b/tools/kvm/x86/ioport.c index 4993f9daa8c4..e35d0ee93186 100644 --- a/tools/kvm/x86/ioport.c +++ b/tools/kvm/x86/ioport.c @@ -5,7 +5,7 @@ static bool debug_io_out(struct ioport *ioport, struct kvm *kvm, u16 port, void *data, int size) { - exit(EXIT_SUCCESS); + return 0; } static struct ioport_operations debug_ops = { -- 2.39.5