1 /* Target-specific definition for a Renesas Super-H. 2 Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 3 Free Software Foundation, Inc. 4 5 This file is part of GDB. 6 7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place - Suite 330, 20 Boston, MA 02111-1307, USA. */ 21 22 #ifndef SH_TDEP_H 23 #define SH_TDEP_H 24 25 /* Contributed by Steve Chamberlain sac@cygnus.com */ 26 27 /* Registers for all SH variants. Used also by sh3-rom.c. */ 28 enum 29 { 30 R0_REGNUM = 0, 31 STRUCT_RETURN_REGNUM = 2, 32 ARG0_REGNUM = 4, 33 ARGLAST_REGNUM = 7, 34 FP_REGNUM = 14, 35 PR_REGNUM = 17, 36 GBR_REGNUM = 18, 37 VBR_REGNUM = 19, 38 MACH_REGNUM = 20, 39 MACL_REGNUM = 21, 40 SR_REGNUM = 22, 41 FPUL_REGNUM = 23, 42 /* Floating point registers */ 43 FPSCR_REGNUM = 24, 44 FLOAT_ARG0_REGNUM = 29, 45 FLOAT_ARGLAST_REGNUM = 36, 46 FP_LAST_REGNUM = 40, 47 /* sh3,sh4 registers */ 48 SSR_REGNUM = 41, 49 SPC_REGNUM = 42, 50 /* DSP registers */ 51 DSR_REGNUM = 24, 52 A0G_REGNUM = 25, 53 A0_REGNUM = 26, 54 A1G_REGNUM = 27, 55 A1_REGNUM = 28, 56 M0_REGNUM = 29, 57 M1_REGNUM = 30, 58 X0_REGNUM = 31, 59 X1_REGNUM = 32, 60 Y0_REGNUM = 33, 61 Y1_REGNUM = 34, 62 MOD_REGNUM = 40, 63 RS_REGNUM = 43, 64 RE_REGNUM = 44, 65 DSP_R0_BANK_REGNUM = 51, 66 DSP_R7_BANK_REGNUM = 58, 67 /* sh2a register */ 68 R0_BANK0_REGNUM = 43, 69 MACHB_REGNUM = 58, 70 IVNB_REGNUM = 59, 71 PRB_REGNUM = 60, 72 GBRB_REGNUM = 61, 73 MACLB_REGNUM = 62, 74 BANK_REGNUM = 63, 75 IBCR_REGNUM = 64, 76 IBNR_REGNUM = 65, 77 TBR_REGNUM = 66, 78 PSEUDO_BANK_REGNUM = 67, 79 /* Floating point pseudo registers */ 80 DR0_REGNUM = 68, 81 DR_LAST_REGNUM = 75, 82 FV0_REGNUM = 76, 83 FV_LAST_REGNUM = 79 84 }; 85 86 extern gdbarch_init_ftype sh64_gdbarch_init; 87 extern void sh64_show_regs (void); 88 89 #endif /* SH_TDEP_H */ 90