From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JmISq-0002T6-GC for qemu-devel@nongnu.org; Wed, 16 Apr 2008 20:59:00 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JmISo-0002SM-Vr for qemu-devel@nongnu.org; Wed, 16 Apr 2008 20:59:00 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JmISo-0002SA-NX for qemu-devel@nongnu.org; Wed, 16 Apr 2008 20:58:58 -0400 Received: from mx1.redhat.com ([66.187.233.31]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JmISo-0001pK-5p for qemu-devel@nongnu.org; Wed, 16 Apr 2008 20:58:58 -0400 From: Glauber de Oliveira Costa Date: Thu, 17 Apr 2008 01:42:53 -0700 Message-Id: <12084217783693-git-send-email-gcosta@redhat.com> In-Reply-To: <12084217752458-git-send-email-gcosta@redhat.com> References: <12084217752458-git-send-email-gcosta@redhat.com> Subject: [Qemu-devel] [PATCH 1/3] don't exit on errors while registering ioports Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: kvm-devel@lists.sourceforge.net Cc: amit.shah@qumranet.com, glommer@gmail.com, mtosatti@redhat.com, qemu-devel@nongnu.org, Glauber Costa , aurelien@aurel32.net From: Glauber Costa Currently, any error in register_ioports make qemu abort through hw_error(). But there are situations in which those errors are not fatal. Just return < 0 instead Signed-off-by: Glauber Costa --- qemu/vl.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/qemu/vl.c b/qemu/vl.c index 35a0465..d7e07e2 100644 --- a/qemu/vl.c +++ b/qemu/vl.c @@ -351,13 +351,13 @@ int register_ioport_read(int start, int length, int size, } else if (size == 4) { bsize = 2; } else { - hw_error("register_ioport_read: invalid size"); + fprintf(stderr, "register_ioport_read: invalid size\n"); return -1; } for(i = start; i < start + length; i += size) { ioport_read_table[bsize][i] = func; if (ioport_opaque[i] != NULL && ioport_opaque[i] != opaque) - hw_error("register_ioport_read: invalid opaque"); + fprintf(stderr, "register_ioport_read: invalid opaque\n"); ioport_opaque[i] = opaque; } return 0; @@ -376,13 +376,15 @@ int register_ioport_write(int start, int length, int size, } else if (size == 4) { bsize = 2; } else { - hw_error("register_ioport_write: invalid size"); + fprintf(stderr, "register_ioport_write: invalid size\n"); return -1; } for(i = start; i < start + length; i += size) { ioport_write_table[bsize][i] = func; - if (ioport_opaque[i] != NULL && ioport_opaque[i] != opaque) - hw_error("register_ioport_write: invalid opaque"); + if (ioport_opaque[i] != NULL && ioport_opaque[i] != opaque) { + fprintf(stderr, "register_ioport_write: invalid opaque\n"); + return -1; + } ioport_opaque[i] = opaque; } return 0; -- 1.5.5