From patchwork Wed Feb 17 15:53:29 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: takasi-y@ops.dti.ne.jp X-Patchwork-Id: 45641 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id AB55AB7BEE for ; Thu, 18 Feb 2010 03:00:23 +1100 (EST) Received: from localhost ([127.0.0.1]:52272 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NhmEk-0008Sm-6Z for incoming@patchwork.ozlabs.org; Wed, 17 Feb 2010 10:54:50 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NhmDb-0008S3-D7 for qemu-devel@nongnu.org; Wed, 17 Feb 2010 10:53:39 -0500 Received: from [199.232.76.173] (port=45728 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NhmDb-0008Rt-2D for qemu-devel@nongnu.org; Wed, 17 Feb 2010 10:53:39 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NhmDX-0000Yi-8x for qemu-devel@nongnu.org; Wed, 17 Feb 2010 10:53:37 -0500 Received: from smtp09.dti.ne.jp ([202.216.231.184]:56562) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NhmDV-0000YU-7U for qemu-devel@nongnu.org; Wed, 17 Feb 2010 10:53:34 -0500 Received: from debian.lan (KHP059140016099.ppp-bb.dion.ne.jp [59.140.16.99]) by smtp09.dti.ne.jp (3.11s) with ESMTP AUTH id o1HFrTUc010013; Thu, 18 Feb 2010 00:53:29 +0900 (JST) Date: Thu, 18 Feb 2010 00:53:29 +0900 (JST) Message-Id: <201002171553.o1HFrTUc010013@smtp09.dti.ne.jp> From: takasi-y@ops.dti.ne.jp To: qemu-devel@nongnu.org X-Mailer: Sylpheed 2.5.0 (GTK+ 2.12.12; x86_64-pc-linux-gnu) Mime-Version: 1.0 X-detected-operating-system: by monty-python.gnu.org: Solaris 9 Subject: [Qemu-devel] [PATCH] sh4: Fix gdb read/write register X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org cpu_gdb_read_register(): Fix n={8...15} case. cpu_gdb_write_register(): Fix n={8...15} case and runaway "case:". Signed-off-by: Takashi YOSHII --- gdbstub.c | 27 ++++++++++++++------------- 1 files changed, 14 insertions(+), 13 deletions(-) diff --git a/gdbstub.c b/gdbstub.c index 80477be..3287dfb 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -1148,7 +1148,7 @@ static int cpu_gdb_read_register(CPUState *env, uint8_t *mem_buf, int n) GET_REGL(env->gregs[n]); } } else if (n < 16) { - GET_REGL(env->gregs[n - 8]); + GET_REGL(env->gregs[n]); } else if (n >= 25 && n < 41) { GET_REGL(env->fregs[(n - 25) + ((env->fpscr & FPSCR_FR) ? 16 : 0)]); } else if (n >= 43 && n < 51) { @@ -1187,10 +1187,11 @@ static int cpu_gdb_write_register(CPUState *env, uint8_t *mem_buf, int n) } return 4; } else if (n < 16) { - env->gregs[n - 8] = tmp; + env->gregs[n] = tmp; return 4; } else if (n >= 25 && n < 41) { env->fregs[(n - 25) + ((env->fpscr & FPSCR_FR) ? 16 : 0)] = tmp; + return 4; } else if (n >= 43 && n < 51) { env->gregs[n - 43] = tmp; return 4; @@ -1199,17 +1200,17 @@ static int cpu_gdb_write_register(CPUState *env, uint8_t *mem_buf, int n) return 4; } switch (n) { - case 16: env->pc = tmp; - case 17: env->pr = tmp; - case 18: env->gbr = tmp; - case 19: env->vbr = tmp; - case 20: env->mach = tmp; - case 21: env->macl = tmp; - case 22: env->sr = tmp; - case 23: env->fpul = tmp; - case 24: env->fpscr = tmp; - case 41: env->ssr = tmp; - case 42: env->spc = tmp; + case 16: env->pc = tmp; break; + case 17: env->pr = tmp; break; + case 18: env->gbr = tmp; break; + case 19: env->vbr = tmp; break; + case 20: env->mach = tmp; break; + case 21: env->macl = tmp; break; + case 22: env->sr = tmp; break; + case 23: env->fpul = tmp; break; + case 24: env->fpscr = tmp; break; + case 41: env->ssr = tmp; break; + case 42: env->spc = tmp; break; default: return 0; }