1 /* Target-specific definition for a Renesas Super-H.
2 Copyright (C) 1993-2024 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/>. */
24 /* Contributed by Steve Chamberlain sac@cygnus.com. */
26 /* Registers for all SH variants. Used also by sh3-rom.c. */
30 STRUCT_RETURN_REGNUM
= 2,
42 /* Floating point registers */
45 FLOAT_ARG0_REGNUM
= 29,
46 FLOAT_ARGLAST_REGNUM
= 36,
48 /* sh3,sh4 registers */
66 DSP_R0_BANK_REGNUM
= 51,
67 DSP_R7_BANK_REGNUM
= 58,
79 PSEUDO_BANK_REGNUM
= 67,
80 /* Floating point pseudo registers */
87 /* This structure describes a register in a core-file. */
88 struct sh_corefile_regmap
94 struct sh_gdbarch_tdep
: gdbarch_tdep_base
96 /* Non-NULL when debugging from a core file. Provides the offset
97 where each general-purpose register is stored inside the associated
99 struct sh_corefile_regmap
*core_gregmap
= nullptr;
100 int sizeof_gregset
= 0;
101 /* Non-NULL when debugging from a core file and when FP registers are
102 available. Provides the offset where each FP register is stored
103 inside the associated core file section. */
104 struct sh_corefile_regmap
*core_fpregmap
= nullptr;
105 int sizeof_fpregset
= 0;
106 /* ISA-specific data types. */
107 struct type
*sh_littlebyte_bigword_type
= nullptr;
110 extern const struct regset sh_corefile_gregset
;
112 void sh_corefile_supply_regset (const struct regset
*regset
,
113 struct regcache
*regcache
,
114 int regnum
, const void *regs
, size_t len
);
115 void sh_corefile_collect_regset (const struct regset
*regset
,
116 const struct regcache
*regcache
,
117 int regnum
, void *regs
, size_t len
);
118 #endif /* SH_TDEP_H */