From mboxrd@z Thu Jan 1 00:00:00 1970 From: Glauber de Oliveira Costa Subject: [PATCH 1/3] don't exit on errors while registering ioports Date: Thu, 17 Apr 2008 01:42:53 -0700 Message-ID: <12084217783693-git-send-email-gcosta@redhat.com> References: <12084217752458-git-send-email-gcosta@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: mtosatti@redhat.com, qemu-devel@nongnu.org, avi@qumranet.com, Glauber Costa , aurelien@aurel32.net To: kvm-devel@lists.sourceforge.net Return-path: In-Reply-To: <12084217752458-git-send-email-gcosta@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces@lists.sourceforge.net Errors-To: kvm-devel-bounces@lists.sourceforge.net List-Id: kvm.vger.kernel.org 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 ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone