X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fsh-tdep.h;h=a2ef7602090aa8fea27445c9b85b86c3f8cf8b56;hb=3e3ffd2b74c0321e887da2ca396070c6f61b0e1a;hp=cd7f35a8324ba9766ff183154f02bb1db7463995;hpb=2ee563b53258d390d7446e90a67f465d504ae44c;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h index cd7f35a832..a2ef760209 100644 --- a/gdb/sh-tdep.h +++ b/gdb/sh-tdep.h @@ -1,5 +1,5 @@ -/* Target-specific definition for a Hitachi Super-H. - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +/* Target-specific definition for a Renesas Super-H. + Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GDB. @@ -22,90 +22,56 @@ #ifndef SH_TDEP_H #define SH_TDEP_H -#include "osabi.h" - /* Contributed by Steve Chamberlain sac@cygnus.com */ -/* Information that is dependent on the processor variant. */ - -enum sh_abi - { - SH_ABI_UNKNOWN, - SH_ABI_32, - SH_ABI_64 - }; - -struct gdbarch_tdep - { - int PR_REGNUM; - int FPUL_REGNUM; /* sh3e, sh4 */ - int FPSCR_REGNUM; /* sh3e, sh4 */ - int SR_REGNUM; /* sh-dsp, sh3, sh3-dsp, sh3e, sh4 */ - int DSR_REGNUM; /* sh-dsp, sh3-dsp */ - int FP_LAST_REGNUM; /* sh3e, sh4 */ - int A0G_REGNUM; /* sh-dsp, sh3-dsp */ - int A0_REGNUM; /* sh-dsp, sh3-dsp */ - int A1G_REGNUM; /* sh-dsp, sh3-dsp */ - int A1_REGNUM; /* sh-dsp, sh3-dsp */ - int M0_REGNUM; /* sh-dsp, sh3-dsp */ - int M1_REGNUM; /* sh-dsp, sh3-dsp */ - int X0_REGNUM; /* sh-dsp, sh3-dsp */ - int X1_REGNUM; /* sh-dsp, sh3-dsp */ - int Y0_REGNUM; /* sh-dsp, sh3-dsp */ - int Y1_REGNUM; /* sh-dsp, sh3-dsp */ - int MOD_REGNUM; /* sh-dsp, sh3-dsp */ - int SSR_REGNUM; /* sh3, sh3-dsp, sh3e, sh4 */ - int SPC_REGNUM; /* sh3, sh3-dsp, sh3e, sh4 */ - int RS_REGNUM; /* sh-dsp, sh3-dsp */ - int RE_REGNUM; /* sh-dsp, sh3-dsp */ - int DR0_REGNUM; /* sh4 */ - int DR_LAST_REGNUM; /* sh4 */ - int FV0_REGNUM; /* sh4 */ - int FV_LAST_REGNUM; /* sh4 */ - /* FPP stands for Floating Point Pair, to avoid confusion with - GDB's FP0_REGNUM, which is the number of the first Floating - point register. Unfortunately on the sh5, the floating point - registers are called FR, and the floating point pairs are called FP. */ - int TR7_REGNUM; /* sh5-media*/ - int FPP0_REGNUM; /* sh5-media*/ - int FPP_LAST_REGNUM; /* sh5-media*/ - int R0_C_REGNUM; /* sh5-compact*/ - int R_LAST_C_REGNUM; /* sh5-compact*/ - int PC_C_REGNUM; /* sh5-compact*/ - int GBR_C_REGNUM; /* sh5-compact*/ - int MACH_C_REGNUM; /* sh5-compact*/ - int MACL_C_REGNUM; /* sh5-compact*/ - int PR_C_REGNUM; /* sh5-compact*/ - int T_C_REGNUM; /* sh5-compact*/ - int FPSCR_C_REGNUM; /* sh5-compact*/ - int FPUL_C_REGNUM; /* sh5-compact*/ - int FP0_C_REGNUM; /* sh5-compact*/ - int FP_LAST_C_REGNUM; /* sh5-compact*/ - int DR0_C_REGNUM; /* sh5-compact*/ - int DR_LAST_C_REGNUM; /* sh5-compact*/ - int FV0_C_REGNUM; /* sh5-compact*/ - int FV_LAST_C_REGNUM; /* sh5-compact*/ - int ARG0_REGNUM; - int ARGLAST_REGNUM; - int FLOAT_ARGLAST_REGNUM; - int RETURN_REGNUM; - enum gdb_osabi osabi; /* OS/ABI of the inferior */ - enum sh_abi sh_abi; - }; - -/* Registers common to all the SH variants. */ +/* Registers for all SH variants. Used also by sh3-rom.c. */ enum { R0_REGNUM = 0, STRUCT_RETURN_REGNUM = 2, - ARG0_REGNUM = 4, /* Used in h8300-tdep.c */ - ARGLAST_REGNUM = 7, /* Used in h8300-tdep.c */ - PR_REGNUM = 17, /* used in sh3-rom.c */ + ARG0_REGNUM = 4, + ARGLAST_REGNUM = 7, + FP_REGNUM = 14, + PR_REGNUM = 17, GBR_REGNUM = 18, VBR_REGNUM = 19, MACH_REGNUM = 20, MACL_REGNUM = 21, - SR_REGNUM = 22 + SR_REGNUM = 22, + FPUL_REGNUM = 23, + /* Floating point registers */ + FPSCR_REGNUM = 24, + FLOAT_ARG0_REGNUM = 29, + FLOAT_ARGLAST_REGNUM = 36, + FP_LAST_REGNUM = 40, + /* sh3,sh4 registers */ + SSR_REGNUM = 41, + SPC_REGNUM = 42, + /* DSP registers */ + DSR_REGNUM = 24, + A0G_REGNUM = 25, + A0_REGNUM = 26, + A1G_REGNUM = 27, + A1_REGNUM = 28, + M0_REGNUM = 29, + M1_REGNUM = 30, + X0_REGNUM = 31, + X1_REGNUM = 32, + Y0_REGNUM = 33, + Y1_REGNUM = 34, + MOD_REGNUM = 40, + RS_REGNUM = 43, + RE_REGNUM = 44, + DSP_R0_BANK_REGNUM = 51, + DSP_R7_BANK_REGNUM = 58, + /* Floating point pseudo registers */ + DR0_REGNUM = 59, + DR_LAST_REGNUM = 66, + FV0_REGNUM = 67, + FV_LAST_REGNUM = 70 }; +extern gdbarch_init_ftype sh64_gdbarch_init; +extern void sh64_show_regs (void); + #endif /* SH_TDEP_H */