1 /* Target-specific definition for a Renesas Super-H.
2 Copyright (C) 1993-2019 Free Software Foundation, Inc.
4 This file is part of GDB.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>. */
22 /* Contributed by Steve Chamberlain sac@cygnus.com. */
24 /* Registers for all SH variants. Used also by sh3-rom.c. */
28 STRUCT_RETURN_REGNUM = 2,
40 /* Floating point registers */
43 FLOAT_ARG0_REGNUM = 29,
44 FLOAT_ARGLAST_REGNUM = 36,
46 /* sh3,sh4 registers */
64 DSP_R0_BANK_REGNUM = 51,
65 DSP_R7_BANK_REGNUM = 58,
77 PSEUDO_BANK_REGNUM = 67,
78 /* Floating point pseudo registers */
85 /* This structure describes a register in a core-file. */
86 struct sh_corefile_regmap
94 /* Non-NULL when debugging from a core file. Provides the offset
95 where each general-purpose register is stored inside the associated
97 struct sh_corefile_regmap *core_gregmap;
99 /* Non-NULL when debugging from a core file and when FP registers are
100 available. Provides the offset where each FP register is stored
101 inside the associated core file section. */
102 struct sh_corefile_regmap *core_fpregmap;
104 /* ISA-specific data types. */
105 struct type *sh_littlebyte_bigword_type;
108 extern const struct regset sh_corefile_gregset;
110 void sh_corefile_supply_regset (const struct regset *regset,
111 struct regcache *regcache,
112 int regnum, const void *regs, size_t len);
113 void sh_corefile_collect_regset (const struct regset *regset,
114 const struct regcache *regcache,
115 int regnum, void *regs, size_t len);
116 #endif /* SH_TDEP_H */