From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=55039 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PpGkj-0002bx-8L for qemu-devel@nongnu.org; Tue, 15 Feb 2011 03:59:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PpGkg-0004Ix-JO for qemu-devel@nongnu.org; Tue, 15 Feb 2011 03:59:20 -0500 Received: from mel.act-europe.fr ([194.98.77.210]:38780) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PpGkg-0004Ih-7b for qemu-devel@nongnu.org; Tue, 15 Feb 2011 03:59:18 -0500 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id B5A73CB01DF for ; Tue, 15 Feb 2011 09:59:17 +0100 (CET) Received: from mel.act-europe.fr ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ITJU1f2i6lSg for ; Tue, 15 Feb 2011 09:59:09 +0100 (CET) Received: from ulanbator.act-europe.fr (ulanbator.act-europe.fr [10.10.1.67]) by mel.act-europe.fr (Postfix) with ESMTP id 3C04CCB01D3 for ; Tue, 15 Feb 2011 09:59:09 +0100 (CET) From: Tristan Gingold Date: Tue, 15 Feb 2011 09:59:09 +0100 Message-Id: <1297760349-35256-1-git-send-email-gingold@adacore.com> Subject: [Qemu-devel] [PATCH] gdbstub/ppc: handle read and write of fpscr List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org From: Fabien Chouteau Although the support of this register may be uncomplete, there are no reason to prevent the debugger from reading or writing it. Signed-off-by: Tristan Gingold --- gdbstub.c | 5 +++-- target-ppc/translate_init.c | 5 ++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gdbstub.c b/gdbstub.c index 5c9a1c9..70870fb 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -722,7 +722,7 @@ static int cpu_gdb_read_register(CPUState *env, uint8_t *mem_buf, int n) { if (gdb_has_xml) return 0; - GET_REG32(0); /* fpscr */ + GET_REG32(env->fpscr); } } } @@ -770,7 +770,8 @@ static int cpu_gdb_write_register(CPUState *env, uint8_t *mem_buf, int n) /* fpscr */ if (gdb_has_xml) return 0; - return 4; + env->fpscr = ldtul_p(mem_buf); + return sizeof(target_ulong); } } return 0; diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c index dfcd949..5d856f5 100644 --- a/target-ppc/translate_init.c +++ b/target-ppc/translate_init.c @@ -9381,8 +9381,7 @@ static int gdb_get_float_reg(CPUState *env, uint8_t *mem_buf, int n) return 8; } if (n == 32) { - /* FPSCR not implemented */ - memset(mem_buf, 0, 4); + stl_p(mem_buf, env->fpscr); return 4; } return 0; @@ -9395,7 +9394,7 @@ static int gdb_set_float_reg(CPUState *env, uint8_t *mem_buf, int n) return 8; } if (n == 32) { - /* FPSCR not implemented */ + env->fpscr = ldl_p(mem_buf); return 4; } return 0; -- 1.7.3.GIT