From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31983 invoked by alias); 7 Jun 2007 20:59:08 -0000 Received: (qmail 31965 invoked by uid 22791); 7 Jun 2007 20:59:03 -0000 X-Spam-Check-By: sourceware.org Received: from mtagate5.de.ibm.com (HELO mtagate5.de.ibm.com) (195.212.29.154) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 07 Jun 2007 20:58:55 +0000 Received: from d12nrmr1607.megacenter.de.ibm.com (d12nrmr1607.megacenter.de.ibm.com [9.149.167.49]) by mtagate5.de.ibm.com (8.13.8/8.13.8) with ESMTP id l57Kwqd1146092 for ; Thu, 7 Jun 2007 20:58:52 GMT Received: from d12av02.megacenter.de.ibm.com (d12av02.megacenter.de.ibm.com [9.149.165.228]) by d12nrmr1607.megacenter.de.ibm.com (8.13.8/8.13.8/NCO v8.3) with ESMTP id l57Kwqbw3997920 for ; Thu, 7 Jun 2007 22:58:52 +0200 Received: from d12av02.megacenter.de.ibm.com (loopback [127.0.0.1]) by d12av02.megacenter.de.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id l57KwqXH019894 for ; Thu, 7 Jun 2007 22:58:52 +0200 Received: from tuxmaker.boeblingen.de.ibm.com (tuxmaker.boeblingen.de.ibm.com [9.152.85.9]) by d12av02.megacenter.de.ibm.com (8.12.11.20060308/8.12.11) with SMTP id l57KwphN019891 for ; Thu, 7 Jun 2007 22:58:52 +0200 Message-Id: <200706072058.l57KwphN019891@d12av02.megacenter.de.ibm.com> Received: by tuxmaker.boeblingen.de.ibm.com (sSMTP sendmail emulation); Thu, 7 Jun 2007 22:58:51 +0200 Subject: [rfc][5/13] Eliminate read_register: read_register in sh_show_regs_command To: gdb-patches@sourceware.org Date: Thu, 07 Jun 2007 20:59:00 -0000 From: "Ulrich Weigand" X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-06/txt/msg00084.txt.bz2 Hello, this eliminates the single most numerous user of read_register, the sh_show_regs_command routine and its subroutines. The patch adds a FRAME parameter to the sh_show_regs implementations, and passes in the current frame. (Maybe it should really pass in the *selected* frame, in case the user issues the "regs" command from some other frame but the top? That would be easy to change now.) Bye, Ulrich ChangeLog: * sh-tdep.h (sh_show_regs): Add FRAME parameter. * sh-tdep.c (sh_show_regs): Likewise. (sh_show_regs_command): Pass current frame to sh_show_regs routine. (sh_generic_show_regs): Add FRAME parameter. Use register values from that frame instead of calling read_register. (sh3_show_regs, sh2e_show_regs, sh2a_show_regs, sh2a_nofpu_show_regs, sh3e_show_regs, sh3_dsp_show_regs, sh4_show_regs, sh4_nofpu_show_regs, sh_dsp_show_regs): Likewise. * sh64-tdep.c (sh64_show_media_regs, sh64_show_compact_regs, sh64_show_regs): Likewise. diff -urNp gdb-orig/gdb/sh64-tdep.c gdb-head/gdb/sh64-tdep.c --- gdb-orig/gdb/sh64-tdep.c 2007-06-06 18:56:32.803873171 +0200 +++ gdb-head/gdb/sh64-tdep.c 2007-06-06 18:57:57.151636066 +0200 @@ -1324,93 +1324,103 @@ sh64_return_value (struct gdbarch *gdbar } static void -sh64_show_media_regs (void) +sh64_show_media_regs (struct frame_info *frame) { int i; - printf_filtered ("PC=%s SR=%016llx \n", - paddr (read_register (PC_REGNUM)), - (long long) read_register (SR_REGNUM)); - - printf_filtered ("SSR=%016llx SPC=%016llx \n", - (long long) read_register (SSR_REGNUM), - (long long) read_register (SPC_REGNUM)); - printf_filtered ("FPSCR=%016lx\n ", - (long) read_register (FPSCR_REGNUM)); + printf_filtered + ("PC=%s SR=%016llx \n", + paddr (get_frame_register_unsigned (frame, PC_REGNUM)), + (long long) get_frame_register_unsigned (frame, SR_REGNUM)); + + printf_filtered + ("SSR=%016llx SPC=%016llx \n", + (long long) get_frame_register_unsigned (frame, SSR_REGNUM), + (long long) get_frame_register_unsigned (frame, SPC_REGNUM)); + printf_filtered + ("FPSCR=%016lx\n ", + (long) get_frame_register_unsigned (frame, FPSCR_REGNUM)); for (i = 0; i < 64; i = i + 4) - printf_filtered ("\nR%d-R%d %016llx %016llx %016llx %016llx\n", - i, i + 3, - (long long) read_register (i + 0), - (long long) read_register (i + 1), - (long long) read_register (i + 2), - (long long) read_register (i + 3)); + printf_filtered + ("\nR%d-R%d %016llx %016llx %016llx %016llx\n", + i, i + 3, + (long long) get_frame_register_unsigned (frame, i + 0), + (long long) get_frame_register_unsigned (frame, i + 1), + (long long) get_frame_register_unsigned (frame, i + 2), + (long long) get_frame_register_unsigned (frame, i + 3)); printf_filtered ("\n"); for (i = 0; i < 64; i = i + 8) - printf_filtered ("FR%d-FR%d %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - i, i + 7, - (long) read_register (FP0_REGNUM + i + 0), - (long) read_register (FP0_REGNUM + i + 1), - (long) read_register (FP0_REGNUM + i + 2), - (long) read_register (FP0_REGNUM + i + 3), - (long) read_register (FP0_REGNUM + i + 4), - (long) read_register (FP0_REGNUM + i + 5), - (long) read_register (FP0_REGNUM + i + 6), - (long) read_register (FP0_REGNUM + i + 7)); + printf_filtered + ("FR%d-FR%d %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + i, i + 7, + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 0), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 1), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 2), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 3), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 4), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 5), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 6), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 7)); } static void -sh64_show_compact_regs (void) +sh64_show_compact_regs (struct frame_info *frame) { int i; - printf_filtered ("PC=%s \n", - paddr (read_register (PC_C_REGNUM))); - - printf_filtered ("GBR=%08lx MACH=%08lx MACL=%08lx PR=%08lx T=%08lx\n", - (long) read_register (GBR_C_REGNUM), - (long) read_register (MACH_C_REGNUM), - (long) read_register (MACL_C_REGNUM), - (long) read_register (PR_C_REGNUM), - (long) read_register (T_C_REGNUM)); - printf_filtered ("FPSCR=%08lx FPUL=%08lx\n", - (long) read_register (FPSCR_C_REGNUM), - (long) read_register (FPUL_C_REGNUM)); + printf_filtered + ("PC=%s \n", + paddr (get_frame_register_unsigned (frame, PC_C_REGNUM))); + + printf_filtered + ("GBR=%08lx MACH=%08lx MACL=%08lx PR=%08lx T=%08lx\n", + (long) get_frame_register_unsigned (frame, GBR_C_REGNUM), + (long) get_frame_register_unsigned (frame, MACH_C_REGNUM), + (long) get_frame_register_unsigned (frame, MACL_C_REGNUM), + (long) get_frame_register_unsigned (frame, PR_C_REGNUM), + (long) get_frame_register_unsigned (frame, T_C_REGNUM)); + printf_filtered + ("FPSCR=%08lx FPUL=%08lx\n", + (long) get_frame_register_unsigned (frame, FPSCR_C_REGNUM), + (long) get_frame_register_unsigned (frame, FPUL_C_REGNUM)); for (i = 0; i < 16; i = i + 4) - printf_filtered ("\nR%d-R%d %08lx %08lx %08lx %08lx\n", - i, i + 3, - (long) read_register (i + 0), - (long) read_register (i + 1), - (long) read_register (i + 2), - (long) read_register (i + 3)); + printf_filtered + ("\nR%d-R%d %08lx %08lx %08lx %08lx\n", + i, i + 3, + (long) get_frame_register_unsigned (frame, i + 0), + (long) get_frame_register_unsigned (frame, i + 1), + (long) get_frame_register_unsigned (frame, i + 2), + (long) get_frame_register_unsigned (frame, i + 3)); printf_filtered ("\n"); for (i = 0; i < 16; i = i + 8) - printf_filtered ("FR%d-FR%d %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - i, i + 7, - (long) read_register (FP0_REGNUM + i + 0), - (long) read_register (FP0_REGNUM + i + 1), - (long) read_register (FP0_REGNUM + i + 2), - (long) read_register (FP0_REGNUM + i + 3), - (long) read_register (FP0_REGNUM + i + 4), - (long) read_register (FP0_REGNUM + i + 5), - (long) read_register (FP0_REGNUM + i + 6), - (long) read_register (FP0_REGNUM + i + 7)); + printf_filtered + ("FR%d-FR%d %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + i, i + 7, + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 0), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 1), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 2), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 3), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 4), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 5), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 6), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 7)); } /* FIXME!!! This only shows the registers for shmedia, excluding the pseudo registers. */ void -sh64_show_regs (void) +sh64_show_regs (struct frame_info *frame) { - if (pc_is_isa32 (get_frame_pc (get_selected_frame (NULL)))) - sh64_show_media_regs (); + if (pc_is_isa32 (get_frame_pc (frame))) + sh64_show_media_regs (frame); else - sh64_show_compact_regs (); + sh64_show_compact_regs (frame); } /* *INDENT-OFF* */ diff -urNp gdb-orig/gdb/sh-tdep.c gdb-head/gdb/sh-tdep.c --- gdb-orig/gdb/sh-tdep.c 2007-06-06 18:56:32.830869287 +0200 +++ gdb-head/gdb/sh-tdep.c 2007-06-06 18:57:57.209627721 +0200 @@ -56,7 +56,7 @@ /* registers numbers shared with the simulator */ #include "gdb/sim-sh.h" -static void (*sh_show_regs) (void); +static void (*sh_show_regs) (struct frame_info *); #define SH_NUM_REGS 67 @@ -1332,501 +1332,625 @@ sh_return_value_fpu (struct gdbarch *gdb /* Print the registers in a form similar to the E7000 */ static void -sh_generic_show_regs (void) +sh_generic_show_regs (struct frame_info *frame) { - printf_filtered (" PC %s SR %08lx PR %08lx MACH %08lx\n", - paddr (read_register (PC_REGNUM)), - (long) read_register (SR_REGNUM), - (long) read_register (PR_REGNUM), - (long) read_register (MACH_REGNUM)); - - printf_filtered ( - " GBR %08lx VBR %08lx MACL %08lx\n", - (long) read_register (GBR_REGNUM), - (long) read_register (VBR_REGNUM), - (long) read_register (MACL_REGNUM)); + printf_filtered + (" PC %s SR %08lx PR %08lx MACH %08lx\n", + paddr (get_frame_register_unsigned (frame, PC_REGNUM)), + (long) get_frame_register_unsigned (frame, SR_REGNUM), + (long) get_frame_register_unsigned (frame, PR_REGNUM), + (long) get_frame_register_unsigned (frame, MACH_REGNUM)); + + printf_filtered + (" GBR %08lx VBR %08lx MACL %08lx\n", + (long) get_frame_register_unsigned (frame, GBR_REGNUM), + (long) get_frame_register_unsigned (frame, VBR_REGNUM), + (long) get_frame_register_unsigned (frame, MACL_REGNUM)); printf_filtered ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (0), (long) read_register (1), - (long) read_register (2), (long) read_register (3), - (long) read_register (4), (long) read_register (5), - (long) read_register (6), (long) read_register (7)); - printf_filtered ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (8), (long) read_register (9), - (long) read_register (10), (long) read_register (11), - (long) read_register (12), (long) read_register (13), - (long) read_register (14), (long) read_register (15)); + (long) get_frame_register_unsigned (frame, 0), + (long) get_frame_register_unsigned (frame, 1), + (long) get_frame_register_unsigned (frame, 2), + (long) get_frame_register_unsigned (frame, 3), + (long) get_frame_register_unsigned (frame, 4), + (long) get_frame_register_unsigned (frame, 5), + (long) get_frame_register_unsigned (frame, 6), + (long) get_frame_register_unsigned (frame, 7)); + printf_filtered + ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 8), + (long) get_frame_register_unsigned (frame, 9), + (long) get_frame_register_unsigned (frame, 10), + (long) get_frame_register_unsigned (frame, 11), + (long) get_frame_register_unsigned (frame, 12), + (long) get_frame_register_unsigned (frame, 13), + (long) get_frame_register_unsigned (frame, 14), + (long) get_frame_register_unsigned (frame, 15)); } static void -sh3_show_regs (void) -{ - printf_filtered (" PC %s SR %08lx PR %08lx MACH %08lx\n", - paddr (read_register (PC_REGNUM)), - (long) read_register (SR_REGNUM), - (long) read_register (PR_REGNUM), - (long) read_register (MACH_REGNUM)); - - printf_filtered ( - " GBR %08lx VBR %08lx MACL %08lx\n", - (long) read_register (GBR_REGNUM), - (long) read_register (VBR_REGNUM), - (long) read_register (MACL_REGNUM)); - printf_filtered (" SSR %08lx SPC %08lx\n", - (long) read_register (SSR_REGNUM), - (long) read_register (SPC_REGNUM)); +sh3_show_regs (struct frame_info *frame) +{ + printf_filtered + (" PC %s SR %08lx PR %08lx MACH %08lx\n", + paddr (get_frame_register_unsigned (frame, PC_REGNUM)), + (long) get_frame_register_unsigned (frame, SR_REGNUM), + (long) get_frame_register_unsigned (frame, PR_REGNUM), + (long) get_frame_register_unsigned (frame, MACH_REGNUM)); + + printf_filtered + (" GBR %08lx VBR %08lx MACL %08lx\n", + (long) get_frame_register_unsigned (frame, GBR_REGNUM), + (long) get_frame_register_unsigned (frame, VBR_REGNUM), + (long) get_frame_register_unsigned (frame, MACL_REGNUM)); + printf_filtered + (" SSR %08lx SPC %08lx\n", + (long) get_frame_register_unsigned (frame, SSR_REGNUM), + (long) get_frame_register_unsigned (frame, SPC_REGNUM)); printf_filtered ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (0), (long) read_register (1), - (long) read_register (2), (long) read_register (3), - (long) read_register (4), (long) read_register (5), - (long) read_register (6), (long) read_register (7)); - printf_filtered ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (8), (long) read_register (9), - (long) read_register (10), (long) read_register (11), - (long) read_register (12), (long) read_register (13), - (long) read_register (14), (long) read_register (15)); + (long) get_frame_register_unsigned (frame, 0), + (long) get_frame_register_unsigned (frame, 1), + (long) get_frame_register_unsigned (frame, 2), + (long) get_frame_register_unsigned (frame, 3), + (long) get_frame_register_unsigned (frame, 4), + (long) get_frame_register_unsigned (frame, 5), + (long) get_frame_register_unsigned (frame, 6), + (long) get_frame_register_unsigned (frame, 7)); + printf_filtered + ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 8), + (long) get_frame_register_unsigned (frame, 9), + (long) get_frame_register_unsigned (frame, 10), + (long) get_frame_register_unsigned (frame, 11), + (long) get_frame_register_unsigned (frame, 12), + (long) get_frame_register_unsigned (frame, 13), + (long) get_frame_register_unsigned (frame, 14), + (long) get_frame_register_unsigned (frame, 15)); } +static void +sh2e_show_regs (struct frame_info *frame) +{ + printf_filtered + (" PC %s SR %08lx PR %08lx MACH %08lx\n", + paddr (get_frame_register_unsigned (frame, PC_REGNUM)), + (long) get_frame_register_unsigned (frame, SR_REGNUM), + (long) get_frame_register_unsigned (frame, PR_REGNUM), + (long) get_frame_register_unsigned (frame, MACH_REGNUM)); + + printf_filtered + (" GBR %08lx VBR %08lx MACL %08lx\n", + (long) get_frame_register_unsigned (frame, GBR_REGNUM), + (long) get_frame_register_unsigned (frame, VBR_REGNUM), + (long) get_frame_register_unsigned (frame, MACL_REGNUM)); + printf_filtered + (" SSR %08lx SPC %08lx FPUL %08lx FPSCR %08lx\n", + (long) get_frame_register_unsigned (frame, SSR_REGNUM), + (long) get_frame_register_unsigned (frame, SPC_REGNUM), + (long) get_frame_register_unsigned (frame, FPUL_REGNUM), + (long) get_frame_register_unsigned (frame, FPSCR_REGNUM)); + + printf_filtered + ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 0), + (long) get_frame_register_unsigned (frame, 1), + (long) get_frame_register_unsigned (frame, 2), + (long) get_frame_register_unsigned (frame, 3), + (long) get_frame_register_unsigned (frame, 4), + (long) get_frame_register_unsigned (frame, 5), + (long) get_frame_register_unsigned (frame, 6), + (long) get_frame_register_unsigned (frame, 7)); + printf_filtered + ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 8), + (long) get_frame_register_unsigned (frame, 9), + (long) get_frame_register_unsigned (frame, 10), + (long) get_frame_register_unsigned (frame, 11), + (long) get_frame_register_unsigned (frame, 12), + (long) get_frame_register_unsigned (frame, 13), + (long) get_frame_register_unsigned (frame, 14), + (long) get_frame_register_unsigned (frame, 15)); + + printf_filtered + ("FP0-FP7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 0), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 1), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 2), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 3), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 4), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 5), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 6), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 7)); + printf_filtered + ("FP8-FP15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 8), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 9), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 10), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 11), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 12), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 13), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 14), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 15)); +} static void -sh2e_show_regs (void) -{ - printf_filtered (" PC %s SR %08lx PR %08lx MACH %08lx\n", - paddr (read_register (PC_REGNUM)), - (long) read_register (SR_REGNUM), - (long) read_register (PR_REGNUM), - (long) read_register (MACH_REGNUM)); - - printf_filtered ( - " GBR %08lx VBR %08lx MACL %08lx\n", - (long) read_register (GBR_REGNUM), - (long) read_register (VBR_REGNUM), - (long) read_register (MACL_REGNUM)); - printf_filtered ( - " SSR %08lx SPC %08lx FPUL %08lx FPSCR %08lx\n", - (long) read_register (SSR_REGNUM), - (long) read_register (SPC_REGNUM), - (long) read_register (FPUL_REGNUM), - (long) read_register (FPSCR_REGNUM)); +sh2a_show_regs (struct frame_info *frame) +{ + int pr = get_frame_register_unsigned (frame, FPSCR_REGNUM) & 0x80000; + + printf_filtered + (" PC %s SR %08lx PR %08lx MACH %08lx\n", + paddr (get_frame_register_unsigned (frame, PC_REGNUM)), + (long) get_frame_register_unsigned (frame, SR_REGNUM), + (long) get_frame_register_unsigned (frame, PR_REGNUM), + (long) get_frame_register_unsigned (frame, MACH_REGNUM)); + + printf_filtered + (" GBR %08lx VBR %08lx TBR %08lx MACL %08lx\n", + (long) get_frame_register_unsigned (frame, GBR_REGNUM), + (long) get_frame_register_unsigned (frame, VBR_REGNUM), + (long) get_frame_register_unsigned (frame, TBR_REGNUM), + (long) get_frame_register_unsigned (frame, MACL_REGNUM)); + printf_filtered + (" SSR %08lx SPC %08lx FPUL %08lx FPSCR %08lx\n", + (long) get_frame_register_unsigned (frame, SSR_REGNUM), + (long) get_frame_register_unsigned (frame, SPC_REGNUM), + (long) get_frame_register_unsigned (frame, FPUL_REGNUM), + (long) get_frame_register_unsigned (frame, FPSCR_REGNUM)); printf_filtered ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (0), (long) read_register (1), - (long) read_register (2), (long) read_register (3), - (long) read_register (4), (long) read_register (5), - (long) read_register (6), (long) read_register (7)); - printf_filtered ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (8), (long) read_register (9), - (long) read_register (10), (long) read_register (11), - (long) read_register (12), (long) read_register (13), - (long) read_register (14), (long) read_register (15)); - - printf_filtered ("FP0-FP7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (FP0_REGNUM + 0), - (long) read_register (FP0_REGNUM + 1), - (long) read_register (FP0_REGNUM + 2), - (long) read_register (FP0_REGNUM + 3), - (long) read_register (FP0_REGNUM + 4), - (long) read_register (FP0_REGNUM + 5), - (long) read_register (FP0_REGNUM + 6), - (long) read_register (FP0_REGNUM + 7)); - printf_filtered ("FP8-FP15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (FP0_REGNUM + 8), - (long) read_register (FP0_REGNUM + 9), - (long) read_register (FP0_REGNUM + 10), - (long) read_register (FP0_REGNUM + 11), - (long) read_register (FP0_REGNUM + 12), - (long) read_register (FP0_REGNUM + 13), - (long) read_register (FP0_REGNUM + 14), - (long) read_register (FP0_REGNUM + 15)); -} - -static void -sh2a_show_regs (void) -{ - int pr = read_register (FPSCR_REGNUM) & 0x80000; - printf_filtered (" PC %s SR %08lx PR %08lx MACH %08lx\n", - paddr (read_register (PC_REGNUM)), - (long) read_register (SR_REGNUM), - (long) read_register (PR_REGNUM), - (long) read_register (MACH_REGNUM)); - - printf_filtered ( - " GBR %08lx VBR %08lx TBR %08lx MACL %08lx\n", - (long) read_register (GBR_REGNUM), - (long) read_register (VBR_REGNUM), - (long) read_register (TBR_REGNUM), - (long) read_register (MACL_REGNUM)); - printf_filtered ( - " SSR %08lx SPC %08lx FPUL %08lx FPSCR %08lx\n", - (long) read_register (SSR_REGNUM), - (long) read_register (SPC_REGNUM), - (long) read_register (FPUL_REGNUM), - (long) read_register (FPSCR_REGNUM)); - - printf_filtered ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (0), (long) read_register (1), - (long) read_register (2), (long) read_register (3), - (long) read_register (4), (long) read_register (5), - (long) read_register (6), (long) read_register (7)); - printf_filtered ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (8), (long) read_register (9), - (long) read_register (10), (long) read_register (11), - (long) read_register (12), (long) read_register (13), - (long) read_register (14), (long) read_register (15)); - - printf_filtered ( - (pr ? "DR0-DR6 %08lx%08lx %08lx%08lx %08lx%08lx %08lx%08lx\n" - : "FP0-FP7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n"), - (long) read_register (FP0_REGNUM + 0), - (long) read_register (FP0_REGNUM + 1), - (long) read_register (FP0_REGNUM + 2), - (long) read_register (FP0_REGNUM + 3), - (long) read_register (FP0_REGNUM + 4), - (long) read_register (FP0_REGNUM + 5), - (long) read_register (FP0_REGNUM + 6), - (long) read_register (FP0_REGNUM + 7)); - printf_filtered ( - (pr ? "DR8-DR14 %08lx%08lx %08lx%08lx %08lx%08lx %08lx%08lx\n" - : "FP8-FP15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n"), - (long) read_register (FP0_REGNUM + 8), - (long) read_register (FP0_REGNUM + 9), - (long) read_register (FP0_REGNUM + 10), - (long) read_register (FP0_REGNUM + 11), - (long) read_register (FP0_REGNUM + 12), - (long) read_register (FP0_REGNUM + 13), - (long) read_register (FP0_REGNUM + 14), - (long) read_register (FP0_REGNUM + 15)); - printf_filtered ("BANK=%-3d\n", (int) read_register (BANK_REGNUM)); - printf_filtered ( - "R0b-R7b %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (R0_BANK0_REGNUM + 0), - (long) read_register (R0_BANK0_REGNUM + 1), - (long) read_register (R0_BANK0_REGNUM + 2), - (long) read_register (R0_BANK0_REGNUM + 3), - (long) read_register (R0_BANK0_REGNUM + 4), - (long) read_register (R0_BANK0_REGNUM + 5), - (long) read_register (R0_BANK0_REGNUM + 6), - (long) read_register (R0_BANK0_REGNUM + 7)); - printf_filtered ("R8b-R14b %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (R0_BANK0_REGNUM + 8), - (long) read_register (R0_BANK0_REGNUM + 9), - (long) read_register (R0_BANK0_REGNUM + 10), - (long) read_register (R0_BANK0_REGNUM + 11), - (long) read_register (R0_BANK0_REGNUM + 12), - (long) read_register (R0_BANK0_REGNUM + 13), - (long) read_register (R0_BANK0_REGNUM + 14)); - printf_filtered ("MACHb=%08lx IVNb=%08lx PRb=%08lx GBRb=%08lx MACLb=%08lx\n", - (long) read_register (R0_BANK0_REGNUM + 15), - (long) read_register (R0_BANK0_REGNUM + 16), - (long) read_register (R0_BANK0_REGNUM + 17), - (long) read_register (R0_BANK0_REGNUM + 18), - (long) read_register (R0_BANK0_REGNUM + 19)); -} - -static void -sh2a_nofpu_show_regs (void) -{ - int pr = read_register (FPSCR_REGNUM) & 0x80000; - printf_filtered (" PC %s SR %08lx PR %08lx MACH %08lx\n", - paddr (read_register (PC_REGNUM)), - (long) read_register (SR_REGNUM), - (long) read_register (PR_REGNUM), - (long) read_register (MACH_REGNUM)); - - printf_filtered ( - " GBR %08lx VBR %08lx TBR %08lx MACL %08lx\n", - (long) read_register (GBR_REGNUM), - (long) read_register (VBR_REGNUM), - (long) read_register (TBR_REGNUM), - (long) read_register (MACL_REGNUM)); - printf_filtered ( - " SSR %08lx SPC %08lx FPUL %08lx FPSCR %08lx\n", - (long) read_register (SSR_REGNUM), - (long) read_register (SPC_REGNUM), - (long) read_register (FPUL_REGNUM), - (long) read_register (FPSCR_REGNUM)); - - printf_filtered ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (0), (long) read_register (1), - (long) read_register (2), (long) read_register (3), - (long) read_register (4), (long) read_register (5), - (long) read_register (6), (long) read_register (7)); - printf_filtered ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (8), (long) read_register (9), - (long) read_register (10), (long) read_register (11), - (long) read_register (12), (long) read_register (13), - (long) read_register (14), (long) read_register (15)); - - printf_filtered ("BANK=%-3d\n", (int) read_register (BANK_REGNUM)); - printf_filtered ( - "R0b-R7b %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (R0_BANK0_REGNUM + 0), - (long) read_register (R0_BANK0_REGNUM + 1), - (long) read_register (R0_BANK0_REGNUM + 2), - (long) read_register (R0_BANK0_REGNUM + 3), - (long) read_register (R0_BANK0_REGNUM + 4), - (long) read_register (R0_BANK0_REGNUM + 5), - (long) read_register (R0_BANK0_REGNUM + 6), - (long) read_register (R0_BANK0_REGNUM + 7)); - printf_filtered ("R8b-R14b %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (R0_BANK0_REGNUM + 8), - (long) read_register (R0_BANK0_REGNUM + 9), - (long) read_register (R0_BANK0_REGNUM + 10), - (long) read_register (R0_BANK0_REGNUM + 11), - (long) read_register (R0_BANK0_REGNUM + 12), - (long) read_register (R0_BANK0_REGNUM + 13), - (long) read_register (R0_BANK0_REGNUM + 14)); - printf_filtered ("MACHb=%08lx IVNb=%08lx PRb=%08lx GBRb=%08lx MACLb=%08lx\n", - (long) read_register (R0_BANK0_REGNUM + 15), - (long) read_register (R0_BANK0_REGNUM + 16), - (long) read_register (R0_BANK0_REGNUM + 17), - (long) read_register (R0_BANK0_REGNUM + 18), - (long) read_register (R0_BANK0_REGNUM + 19)); -} - -static void -sh3e_show_regs (void) -{ - printf_filtered (" PC %s SR %08lx PR %08lx MACH %08lx\n", - paddr (read_register (PC_REGNUM)), - (long) read_register (SR_REGNUM), - (long) read_register (PR_REGNUM), - (long) read_register (MACH_REGNUM)); - - printf_filtered ( - " GBR %08lx VBR %08lx MACL %08lx\n", - (long) read_register (GBR_REGNUM), - (long) read_register (VBR_REGNUM), - (long) read_register (MACL_REGNUM)); - printf_filtered ( - " SSR %08lx SPC %08lx FPUL %08lx FPSCR %08lx\n", - (long) read_register (SSR_REGNUM), - (long) read_register (SPC_REGNUM), - (long) read_register (FPUL_REGNUM), - (long) read_register (FPSCR_REGNUM)); + (long) get_frame_register_unsigned (frame, 0), + (long) get_frame_register_unsigned (frame, 1), + (long) get_frame_register_unsigned (frame, 2), + (long) get_frame_register_unsigned (frame, 3), + (long) get_frame_register_unsigned (frame, 4), + (long) get_frame_register_unsigned (frame, 5), + (long) get_frame_register_unsigned (frame, 6), + (long) get_frame_register_unsigned (frame, 7)); + printf_filtered + ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 8), + (long) get_frame_register_unsigned (frame, 9), + (long) get_frame_register_unsigned (frame, 10), + (long) get_frame_register_unsigned (frame, 11), + (long) get_frame_register_unsigned (frame, 12), + (long) get_frame_register_unsigned (frame, 13), + (long) get_frame_register_unsigned (frame, 14), + (long) get_frame_register_unsigned (frame, 15)); + + printf_filtered + (pr ? "DR0-DR6 %08lx%08lx %08lx%08lx %08lx%08lx %08lx%08lx\n" + : "FP0-FP7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 0), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 1), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 2), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 3), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 4), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 5), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 6), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 7)); + printf_filtered + (pr ? "DR8-DR14 %08lx%08lx %08lx%08lx %08lx%08lx %08lx%08lx\n" + : "FP8-FP15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 8), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 9), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 10), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 11), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 12), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 13), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 14), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 15)); + printf_filtered + ("BANK=%-3d\n", (int) get_frame_register_unsigned (frame, BANK_REGNUM)); + printf_filtered + ("R0b-R7b %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 0), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 1), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 2), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 3), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 4), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 5), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 6), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 7)); + printf_filtered + ("R8b-R14b %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 8), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 9), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 10), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 11), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 12), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 13), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 14)); + printf_filtered + ("MACHb=%08lx IVNb=%08lx PRb=%08lx GBRb=%08lx MACLb=%08lx\n", + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 15), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 16), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 17), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 18), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 19)); +} + +static void +sh2a_nofpu_show_regs (struct frame_info *frame) +{ + int pr = get_frame_register_unsigned (frame, FPSCR_REGNUM) & 0x80000; + + printf_filtered + (" PC %s SR %08lx PR %08lx MACH %08lx\n", + paddr (get_frame_register_unsigned (frame, PC_REGNUM)), + (long) get_frame_register_unsigned (frame, SR_REGNUM), + (long) get_frame_register_unsigned (frame, PR_REGNUM), + (long) get_frame_register_unsigned (frame, MACH_REGNUM)); + + printf_filtered + (" GBR %08lx VBR %08lx TBR %08lx MACL %08lx\n", + (long) get_frame_register_unsigned (frame, GBR_REGNUM), + (long) get_frame_register_unsigned (frame, VBR_REGNUM), + (long) get_frame_register_unsigned (frame, TBR_REGNUM), + (long) get_frame_register_unsigned (frame, MACL_REGNUM)); + printf_filtered + (" SSR %08lx SPC %08lx FPUL %08lx FPSCR %08lx\n", + (long) get_frame_register_unsigned (frame, SSR_REGNUM), + (long) get_frame_register_unsigned (frame, SPC_REGNUM), + (long) get_frame_register_unsigned (frame, FPUL_REGNUM), + (long) get_frame_register_unsigned (frame, FPSCR_REGNUM)); printf_filtered ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (0), (long) read_register (1), - (long) read_register (2), (long) read_register (3), - (long) read_register (4), (long) read_register (5), - (long) read_register (6), (long) read_register (7)); - printf_filtered ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (8), (long) read_register (9), - (long) read_register (10), (long) read_register (11), - (long) read_register (12), (long) read_register (13), - (long) read_register (14), (long) read_register (15)); - - printf_filtered ("FP0-FP7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (FP0_REGNUM + 0), - (long) read_register (FP0_REGNUM + 1), - (long) read_register (FP0_REGNUM + 2), - (long) read_register (FP0_REGNUM + 3), - (long) read_register (FP0_REGNUM + 4), - (long) read_register (FP0_REGNUM + 5), - (long) read_register (FP0_REGNUM + 6), - (long) read_register (FP0_REGNUM + 7)); - printf_filtered ("FP8-FP15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (FP0_REGNUM + 8), - (long) read_register (FP0_REGNUM + 9), - (long) read_register (FP0_REGNUM + 10), - (long) read_register (FP0_REGNUM + 11), - (long) read_register (FP0_REGNUM + 12), - (long) read_register (FP0_REGNUM + 13), - (long) read_register (FP0_REGNUM + 14), - (long) read_register (FP0_REGNUM + 15)); + (long) get_frame_register_unsigned (frame, 0), + (long) get_frame_register_unsigned (frame, 1), + (long) get_frame_register_unsigned (frame, 2), + (long) get_frame_register_unsigned (frame, 3), + (long) get_frame_register_unsigned (frame, 4), + (long) get_frame_register_unsigned (frame, 5), + (long) get_frame_register_unsigned (frame, 6), + (long) get_frame_register_unsigned (frame, 7)); + printf_filtered + ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 8), + (long) get_frame_register_unsigned (frame, 9), + (long) get_frame_register_unsigned (frame, 10), + (long) get_frame_register_unsigned (frame, 11), + (long) get_frame_register_unsigned (frame, 12), + (long) get_frame_register_unsigned (frame, 13), + (long) get_frame_register_unsigned (frame, 14), + (long) get_frame_register_unsigned (frame, 15)); + + printf_filtered + ("BANK=%-3d\n", (int) get_frame_register_unsigned (frame, BANK_REGNUM)); + printf_filtered + ("R0b-R7b %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 0), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 1), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 2), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 3), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 4), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 5), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 6), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 7)); + printf_filtered + ("R8b-R14b %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 8), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 9), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 10), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 11), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 12), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 13), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 14)); + printf_filtered + ("MACHb=%08lx IVNb=%08lx PRb=%08lx GBRb=%08lx MACLb=%08lx\n", + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 15), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 16), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 17), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 18), + (long) get_frame_register_unsigned (frame, R0_BANK0_REGNUM + 19)); } static void -sh3_dsp_show_regs (void) -{ - printf_filtered (" PC %s SR %08lx PR %08lx MACH %08lx\n", - paddr (read_register (PC_REGNUM)), - (long) read_register (SR_REGNUM), - (long) read_register (PR_REGNUM), - (long) read_register (MACH_REGNUM)); - - printf_filtered ( - " GBR %08lx VBR %08lx MACL %08lx\n", - (long) read_register (GBR_REGNUM), - (long) read_register (VBR_REGNUM), - (long) read_register (MACL_REGNUM)); - - printf_filtered (" SSR %08lx SPC %08lx DSR %08lx\n", - (long) read_register (SSR_REGNUM), - (long) read_register (SPC_REGNUM), - (long) read_register (DSR_REGNUM)); +sh3e_show_regs (struct frame_info *frame) +{ + printf_filtered + (" PC %s SR %08lx PR %08lx MACH %08lx\n", + paddr (get_frame_register_unsigned (frame, PC_REGNUM)), + (long) get_frame_register_unsigned (frame, SR_REGNUM), + (long) get_frame_register_unsigned (frame, PR_REGNUM), + (long) get_frame_register_unsigned (frame, MACH_REGNUM)); + + printf_filtered + (" GBR %08lx VBR %08lx MACL %08lx\n", + (long) get_frame_register_unsigned (frame, GBR_REGNUM), + (long) get_frame_register_unsigned (frame, VBR_REGNUM), + (long) get_frame_register_unsigned (frame, MACL_REGNUM)); + printf_filtered + (" SSR %08lx SPC %08lx FPUL %08lx FPSCR %08lx\n", + (long) get_frame_register_unsigned (frame, SSR_REGNUM), + (long) get_frame_register_unsigned (frame, SPC_REGNUM), + (long) get_frame_register_unsigned (frame, FPUL_REGNUM), + (long) get_frame_register_unsigned (frame, FPSCR_REGNUM)); + + printf_filtered + ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 0), + (long) get_frame_register_unsigned (frame, 1), + (long) get_frame_register_unsigned (frame, 2), + (long) get_frame_register_unsigned (frame, 3), + (long) get_frame_register_unsigned (frame, 4), + (long) get_frame_register_unsigned (frame, 5), + (long) get_frame_register_unsigned (frame, 6), + (long) get_frame_register_unsigned (frame, 7)); + printf_filtered + ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 8), + (long) get_frame_register_unsigned (frame, 9), + (long) get_frame_register_unsigned (frame, 10), + (long) get_frame_register_unsigned (frame, 11), + (long) get_frame_register_unsigned (frame, 12), + (long) get_frame_register_unsigned (frame, 13), + (long) get_frame_register_unsigned (frame, 14), + (long) get_frame_register_unsigned (frame, 15)); + + printf_filtered + ("FP0-FP7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 0), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 1), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 2), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 3), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 4), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 5), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 6), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 7)); + printf_filtered + ("FP8-FP15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 8), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 9), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 10), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 11), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 12), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 13), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 14), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 15)); +} + +static void +sh3_dsp_show_regs (struct frame_info *frame) +{ + printf_filtered + (" PC %s SR %08lx PR %08lx MACH %08lx\n", + paddr (get_frame_register_unsigned (frame, PC_REGNUM)), + (long) get_frame_register_unsigned (frame, SR_REGNUM), + (long) get_frame_register_unsigned (frame, PR_REGNUM), + (long) get_frame_register_unsigned (frame, MACH_REGNUM)); + + printf_filtered + (" GBR %08lx VBR %08lx MACL %08lx\n", + (long) get_frame_register_unsigned (frame, GBR_REGNUM), + (long) get_frame_register_unsigned (frame, VBR_REGNUM), + (long) get_frame_register_unsigned (frame, MACL_REGNUM)); + + printf_filtered + (" SSR %08lx SPC %08lx DSR %08lx\n", + (long) get_frame_register_unsigned (frame, SSR_REGNUM), + (long) get_frame_register_unsigned (frame, SPC_REGNUM), + (long) get_frame_register_unsigned (frame, DSR_REGNUM)); printf_filtered ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (0), (long) read_register (1), - (long) read_register (2), (long) read_register (3), - (long) read_register (4), (long) read_register (5), - (long) read_register (6), (long) read_register (7)); - printf_filtered ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (8), (long) read_register (9), - (long) read_register (10), (long) read_register (11), - (long) read_register (12), (long) read_register (13), - (long) read_register (14), (long) read_register (15)); + (long) get_frame_register_unsigned (frame, 0), + (long) get_frame_register_unsigned (frame, 1), + (long) get_frame_register_unsigned (frame, 2), + (long) get_frame_register_unsigned (frame, 3), + (long) get_frame_register_unsigned (frame, 4), + (long) get_frame_register_unsigned (frame, 5), + (long) get_frame_register_unsigned (frame, 6), + (long) get_frame_register_unsigned (frame, 7)); + printf_filtered + ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 8), + (long) get_frame_register_unsigned (frame, 9), + (long) get_frame_register_unsigned (frame, 10), + (long) get_frame_register_unsigned (frame, 11), + (long) get_frame_register_unsigned (frame, 12), + (long) get_frame_register_unsigned (frame, 13), + (long) get_frame_register_unsigned (frame, 14), + (long) get_frame_register_unsigned (frame, 15)); printf_filtered ("A0G=%02lx A0=%08lx M0=%08lx X0=%08lx Y0=%08lx RS=%08lx MOD=%08lx\n", - (long) read_register (A0G_REGNUM) & 0xff, - (long) read_register (A0_REGNUM), (long) read_register (M0_REGNUM), - (long) read_register (X0_REGNUM), (long) read_register (Y0_REGNUM), - (long) read_register (RS_REGNUM), (long) read_register (MOD_REGNUM)); - printf_filtered ("A1G=%02lx A1=%08lx M1=%08lx X1=%08lx Y1=%08lx RE=%08lx\n", - (long) read_register (A1G_REGNUM) & 0xff, - (long) read_register (A1_REGNUM), - (long) read_register (M1_REGNUM), - (long) read_register (X1_REGNUM), - (long) read_register (Y1_REGNUM), - (long) read_register (RE_REGNUM)); -} - -static void -sh4_show_regs (void) -{ - int pr = read_register (FPSCR_REGNUM) & 0x80000; - printf_filtered (" PC %s SR %08lx PR %08lx MACH %08lx\n", - paddr (read_register (PC_REGNUM)), - (long) read_register (SR_REGNUM), - (long) read_register (PR_REGNUM), - (long) read_register (MACH_REGNUM)); - - printf_filtered ( - " GBR %08lx VBR %08lx MACL %08lx\n", - (long) read_register (GBR_REGNUM), - (long) read_register (VBR_REGNUM), - (long) read_register (MACL_REGNUM)); - printf_filtered ( - " SSR %08lx SPC %08lx FPUL %08lx FPSCR %08lx\n", - (long) read_register (SSR_REGNUM), - (long) read_register (SPC_REGNUM), - (long) read_register (FPUL_REGNUM), - (long) read_register (FPSCR_REGNUM)); - - printf_filtered ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (0), (long) read_register (1), - (long) read_register (2), (long) read_register (3), - (long) read_register (4), (long) read_register (5), - (long) read_register (6), (long) read_register (7)); - printf_filtered ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (8), (long) read_register (9), - (long) read_register (10), (long) read_register (11), - (long) read_register (12), (long) read_register (13), - (long) read_register (14), (long) read_register (15)); - - printf_filtered ( - (pr ? "DR0-DR6 %08lx%08lx %08lx%08lx %08lx%08lx %08lx%08lx\n" - : "FP0-FP7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n"), - (long) read_register (FP0_REGNUM + 0), - (long) read_register (FP0_REGNUM + 1), - (long) read_register (FP0_REGNUM + 2), - (long) read_register (FP0_REGNUM + 3), - (long) read_register (FP0_REGNUM + 4), - (long) read_register (FP0_REGNUM + 5), - (long) read_register (FP0_REGNUM + 6), - (long) read_register (FP0_REGNUM + 7)); - printf_filtered ( - (pr ? "DR8-DR14 %08lx%08lx %08lx%08lx %08lx%08lx %08lx%08lx\n" - : "FP8-FP15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n"), - (long) read_register (FP0_REGNUM + 8), - (long) read_register (FP0_REGNUM + 9), - (long) read_register (FP0_REGNUM + 10), - (long) read_register (FP0_REGNUM + 11), - (long) read_register (FP0_REGNUM + 12), - (long) read_register (FP0_REGNUM + 13), - (long) read_register (FP0_REGNUM + 14), - (long) read_register (FP0_REGNUM + 15)); -} - -static void -sh4_nofpu_show_regs (void) -{ - printf_filtered (" PC %s SR %08lx PR %08lx MACH %08lx\n", - paddr (read_register (PC_REGNUM)), - (long) read_register (SR_REGNUM), - (long) read_register (PR_REGNUM), - (long) read_register (MACH_REGNUM)); - - printf_filtered ( - " GBR %08lx VBR %08lx MACL %08lx\n", - (long) read_register (GBR_REGNUM), - (long) read_register (VBR_REGNUM), - (long) read_register (MACL_REGNUM)); - printf_filtered ( - " SSR %08lx SPC %08lx FPUL %08lx FPSCR %08lx\n", - (long) read_register (SSR_REGNUM), - (long) read_register (SPC_REGNUM), - (long) read_register (FPUL_REGNUM), - (long) read_register (FPSCR_REGNUM)); - - printf_filtered ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (0), (long) read_register (1), - (long) read_register (2), (long) read_register (3), - (long) read_register (4), (long) read_register (5), - (long) read_register (6), (long) read_register (7)); - printf_filtered ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (8), (long) read_register (9), - (long) read_register (10), (long) read_register (11), - (long) read_register (12), (long) read_register (13), - (long) read_register (14), (long) read_register (15)); -} - -static void -sh_dsp_show_regs (void) -{ - - printf_filtered (" PC %s SR %08lx PR %08lx MACH %08lx\n", - paddr (read_register (PC_REGNUM)), - (long) read_register (SR_REGNUM), - (long) read_register (PR_REGNUM), - (long) read_register (MACH_REGNUM)); - - printf_filtered ( - " GBR %08lx VBR %08lx DSR %08lx MACL %08lx\n", - (long) read_register (GBR_REGNUM), - (long) read_register (VBR_REGNUM), - (long) read_register (DSR_REGNUM), - (long) read_register (MACL_REGNUM)); + (long) get_frame_register_unsigned (frame, A0G_REGNUM) & 0xff, + (long) get_frame_register_unsigned (frame, A0_REGNUM), + (long) get_frame_register_unsigned (frame, M0_REGNUM), + (long) get_frame_register_unsigned (frame, X0_REGNUM), + (long) get_frame_register_unsigned (frame, Y0_REGNUM), + (long) get_frame_register_unsigned (frame, RS_REGNUM), + (long) get_frame_register_unsigned (frame, MOD_REGNUM)); + printf_filtered + ("A1G=%02lx A1=%08lx M1=%08lx X1=%08lx Y1=%08lx RE=%08lx\n", + (long) get_frame_register_unsigned (frame, A1G_REGNUM) & 0xff, + (long) get_frame_register_unsigned (frame, A1_REGNUM), + (long) get_frame_register_unsigned (frame, M1_REGNUM), + (long) get_frame_register_unsigned (frame, X1_REGNUM), + (long) get_frame_register_unsigned (frame, Y1_REGNUM), + (long) get_frame_register_unsigned (frame, RE_REGNUM)); +} + +static void +sh4_show_regs (struct frame_info *frame) +{ + int pr = get_frame_register_unsigned (frame, FPSCR_REGNUM) & 0x80000; + + printf_filtered + (" PC %s SR %08lx PR %08lx MACH %08lx\n", + paddr (get_frame_register_unsigned (frame, PC_REGNUM)), + (long) get_frame_register_unsigned (frame, SR_REGNUM), + (long) get_frame_register_unsigned (frame, PR_REGNUM), + (long) get_frame_register_unsigned (frame, MACH_REGNUM)); + + printf_filtered + (" GBR %08lx VBR %08lx MACL %08lx\n", + (long) get_frame_register_unsigned (frame, GBR_REGNUM), + (long) get_frame_register_unsigned (frame, VBR_REGNUM), + (long) get_frame_register_unsigned (frame, MACL_REGNUM)); + printf_filtered + (" SSR %08lx SPC %08lx FPUL %08lx FPSCR %08lx\n", + (long) get_frame_register_unsigned (frame, SSR_REGNUM), + (long) get_frame_register_unsigned (frame, SPC_REGNUM), + (long) get_frame_register_unsigned (frame, FPUL_REGNUM), + (long) get_frame_register_unsigned (frame, FPSCR_REGNUM)); + + printf_filtered + ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 0), + (long) get_frame_register_unsigned (frame, 1), + (long) get_frame_register_unsigned (frame, 2), + (long) get_frame_register_unsigned (frame, 3), + (long) get_frame_register_unsigned (frame, 4), + (long) get_frame_register_unsigned (frame, 5), + (long) get_frame_register_unsigned (frame, 6), + (long) get_frame_register_unsigned (frame, 7)); + printf_filtered + ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 8), + (long) get_frame_register_unsigned (frame, 9), + (long) get_frame_register_unsigned (frame, 10), + (long) get_frame_register_unsigned (frame, 11), + (long) get_frame_register_unsigned (frame, 12), + (long) get_frame_register_unsigned (frame, 13), + (long) get_frame_register_unsigned (frame, 14), + (long) get_frame_register_unsigned (frame, 15)); + + printf_filtered + (pr ? "DR0-DR6 %08lx%08lx %08lx%08lx %08lx%08lx %08lx%08lx\n" + : "FP0-FP7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 0), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 1), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 2), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 3), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 4), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 5), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 6), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 7)); + printf_filtered + (pr ? "DR8-DR14 %08lx%08lx %08lx%08lx %08lx%08lx %08lx%08lx\n" + : "FP8-FP15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 8), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 9), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 10), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 11), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 12), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 13), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 14), + (long) get_frame_register_unsigned (frame, FP0_REGNUM + 15)); +} + +static void +sh4_nofpu_show_regs (struct frame_info *frame) +{ + printf_filtered + (" PC %s SR %08lx PR %08lx MACH %08lx\n", + paddr (get_frame_register_unsigned (frame, PC_REGNUM)), + (long) get_frame_register_unsigned (frame, SR_REGNUM), + (long) get_frame_register_unsigned (frame, PR_REGNUM), + (long) get_frame_register_unsigned (frame, MACH_REGNUM)); + + printf_filtered + (" GBR %08lx VBR %08lx MACL %08lx\n", + (long) get_frame_register_unsigned (frame, GBR_REGNUM), + (long) get_frame_register_unsigned (frame, VBR_REGNUM), + (long) get_frame_register_unsigned (frame, MACL_REGNUM)); + printf_filtered + (" SSR %08lx SPC %08lx FPUL %08lx FPSCR %08lx\n", + (long) get_frame_register_unsigned (frame, SSR_REGNUM), + (long) get_frame_register_unsigned (frame, SPC_REGNUM), + (long) get_frame_register_unsigned (frame, FPUL_REGNUM), + (long) get_frame_register_unsigned (frame, FPSCR_REGNUM)); + + printf_filtered + ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 0), + (long) get_frame_register_unsigned (frame, 1), + (long) get_frame_register_unsigned (frame, 2), + (long) get_frame_register_unsigned (frame, 3), + (long) get_frame_register_unsigned (frame, 4), + (long) get_frame_register_unsigned (frame, 5), + (long) get_frame_register_unsigned (frame, 6), + (long) get_frame_register_unsigned (frame, 7)); + printf_filtered + ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 8), + (long) get_frame_register_unsigned (frame, 9), + (long) get_frame_register_unsigned (frame, 10), + (long) get_frame_register_unsigned (frame, 11), + (long) get_frame_register_unsigned (frame, 12), + (long) get_frame_register_unsigned (frame, 13), + (long) get_frame_register_unsigned (frame, 14), + (long) get_frame_register_unsigned (frame, 15)); +} + +static void +sh_dsp_show_regs (struct frame_info *frame) +{ + printf_filtered + (" PC %s SR %08lx PR %08lx MACH %08lx\n", + paddr (get_frame_register_unsigned (frame, PC_REGNUM)), + (long) get_frame_register_unsigned (frame, SR_REGNUM), + (long) get_frame_register_unsigned (frame, PR_REGNUM), + (long) get_frame_register_unsigned (frame, MACH_REGNUM)); + + printf_filtered + (" GBR %08lx VBR %08lx DSR %08lx MACL %08lx\n", + (long) get_frame_register_unsigned (frame, GBR_REGNUM), + (long) get_frame_register_unsigned (frame, VBR_REGNUM), + (long) get_frame_register_unsigned (frame, DSR_REGNUM), + (long) get_frame_register_unsigned (frame, MACL_REGNUM)); printf_filtered ("R0-R7 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (0), (long) read_register (1), - (long) read_register (2), (long) read_register (3), - (long) read_register (4), (long) read_register (5), - (long) read_register (6), (long) read_register (7)); - printf_filtered ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", - (long) read_register (8), (long) read_register (9), - (long) read_register (10), (long) read_register (11), - (long) read_register (12), (long) read_register (13), - (long) read_register (14), (long) read_register (15)); + (long) get_frame_register_unsigned (frame, 0), + (long) get_frame_register_unsigned (frame, 1), + (long) get_frame_register_unsigned (frame, 2), + (long) get_frame_register_unsigned (frame, 3), + (long) get_frame_register_unsigned (frame, 4), + (long) get_frame_register_unsigned (frame, 5), + (long) get_frame_register_unsigned (frame, 6), + (long) get_frame_register_unsigned (frame, 7)); + printf_filtered + ("R8-R15 %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", + (long) get_frame_register_unsigned (frame, 8), + (long) get_frame_register_unsigned (frame, 9), + (long) get_frame_register_unsigned (frame, 10), + (long) get_frame_register_unsigned (frame, 11), + (long) get_frame_register_unsigned (frame, 12), + (long) get_frame_register_unsigned (frame, 13), + (long) get_frame_register_unsigned (frame, 14), + (long) get_frame_register_unsigned (frame, 15)); printf_filtered ("A0G=%02lx A0=%08lx M0=%08lx X0=%08lx Y0=%08lx RS=%08lx MOD=%08lx\n", - (long) read_register (A0G_REGNUM) & 0xff, - (long) read_register (A0_REGNUM), (long) read_register (M0_REGNUM), - (long) read_register (X0_REGNUM), (long) read_register (Y0_REGNUM), - (long) read_register (RS_REGNUM), (long) read_register (MOD_REGNUM)); + (long) get_frame_register_unsigned (frame, A0G_REGNUM) & 0xff, + (long) get_frame_register_unsigned (frame, A0_REGNUM), + (long) get_frame_register_unsigned (frame, M0_REGNUM), + (long) get_frame_register_unsigned (frame, X0_REGNUM), + (long) get_frame_register_unsigned (frame, Y0_REGNUM), + (long) get_frame_register_unsigned (frame, RS_REGNUM), + (long) get_frame_register_unsigned (frame, MOD_REGNUM)); printf_filtered ("A1G=%02lx A1=%08lx M1=%08lx X1=%08lx Y1=%08lx RE=%08lx\n", - (long) read_register (A1G_REGNUM) & 0xff, - (long) read_register (A1_REGNUM), - (long) read_register (M1_REGNUM), - (long) read_register (X1_REGNUM), - (long) read_register (Y1_REGNUM), - (long) read_register (RE_REGNUM)); + (long) get_frame_register_unsigned (frame, A1G_REGNUM) & 0xff, + (long) get_frame_register_unsigned (frame, A1_REGNUM), + (long) get_frame_register_unsigned (frame, M1_REGNUM), + (long) get_frame_register_unsigned (frame, X1_REGNUM), + (long) get_frame_register_unsigned (frame, Y1_REGNUM), + (long) get_frame_register_unsigned (frame, RE_REGNUM)); } static void sh_show_regs_command (char *args, int from_tty) { if (sh_show_regs) - (*sh_show_regs) (); + (*sh_show_regs) (get_current_frame ()); } static struct type * diff -urNp gdb-orig/gdb/sh-tdep.h gdb-head/gdb/sh-tdep.h --- gdb-orig/gdb/sh-tdep.h 2007-06-04 22:23:25.000000000 +0200 +++ gdb-head/gdb/sh-tdep.h 2007-06-06 18:57:57.214627001 +0200 @@ -85,6 +85,6 @@ enum }; extern gdbarch_init_ftype sh64_gdbarch_init; -extern void sh64_show_regs (void); +extern void sh64_show_regs (struct frame_info *); #endif /* SH_TDEP_H */ -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE Ulrich.Weigand@de.ibm.com