diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-06-15 22:31:01 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-06-15 22:31:01 +0000 |
commit | c458d6db4beec11df86f11c63e69cb0e28cb1d40 (patch) | |
tree | a81ec7bb5fa4c680c4c196e6e0f7b80f882b9527 /gdb/sh64-tdep.c | |
parent | a961495892f6fcdb2386428c9bb63e19f364006f (diff) | |
download | gdb-c458d6db4beec11df86f11c63e69cb0e28cb1d40.zip gdb-c458d6db4beec11df86f11c63e69cb0e28cb1d40.tar.gz gdb-c458d6db4beec11df86f11c63e69cb0e28cb1d40.tar.bz2 |
* 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.
Diffstat (limited to 'gdb/sh64-tdep.c')
-rw-r--r-- | gdb/sh64-tdep.c | 126 |
1 files changed, 68 insertions, 58 deletions
diff --git a/gdb/sh64-tdep.c b/gdb/sh64-tdep.c index 7061f32..5674adf 100644 --- a/gdb/sh64-tdep.c +++ b/gdb/sh64-tdep.c @@ -1324,93 +1324,103 @@ sh64_return_value (struct gdbarch *gdbarch, struct type *type, } 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 + ("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) read_register (SSR_REGNUM), - (long long) read_register (SPC_REGNUM)); - printf_filtered ("FPSCR=%016lx\n ", - (long) read_register (FPSCR_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* */ |