GDB (xrefs)
/tmp/gdb-7.10/gdb/sh-tdep.h
Go to the documentation of this file.
1 /* Target-specific definition for a Renesas Super-H.
2  Copyright (C) 1993-2015 Free Software Foundation, Inc.
3 
4  This file is part of GDB.
5 
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.
10 
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.
15 
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/>. */
18 
19 #ifndef SH_TDEP_H
20 #define SH_TDEP_H
21 
22 /* Contributed by Steve Chamberlain sac@cygnus.com. */
23 
24 /* Registers for all SH variants. Used also by sh3-rom.c. */
25 enum
26  {
27  R0_REGNUM = 0,
31  FP_REGNUM = 14,
32  PC_REGNUM = 16,
33  PR_REGNUM = 17,
34  GBR_REGNUM = 18,
35  VBR_REGNUM = 19,
38  SR_REGNUM = 22,
40  /* Floating point registers */
42  FR0_REGNUM = 25,
46  /* sh3,sh4 registers */
47  SSR_REGNUM = 41,
48  SPC_REGNUM = 42,
49  /* DSP registers */
50  DSR_REGNUM = 24,
51  A0G_REGNUM = 25,
52  A0_REGNUM = 26,
53  A1G_REGNUM = 27,
54  A1_REGNUM = 28,
55  M0_REGNUM = 29,
56  M1_REGNUM = 30,
57  X0_REGNUM = 31,
58  X1_REGNUM = 32,
59  Y0_REGNUM = 33,
60  Y1_REGNUM = 34,
61  MOD_REGNUM = 40,
62  RS_REGNUM = 43,
63  RE_REGNUM = 44,
66  /* sh2a register */
70  PRB_REGNUM = 60,
76  TBR_REGNUM = 66,
78  /* Floating point pseudo registers */
79  DR0_REGNUM = 68,
81  FV0_REGNUM = 76,
83  };
84 
85 /* This structure describes a register in a core-file. */
87 {
88  int regnum;
89  unsigned int offset;
90 };
91 
92 struct gdbarch_tdep
93 {
94  /* Non-NULL when debugging from a core file. Provides the offset
95  where each general-purpose register is stored inside the associated
96  core file section. */
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. */
104 };
105 
106 extern const struct regset sh_corefile_gregset;
107 
108 void sh_corefile_supply_regset (const struct regset *regset,
109  struct regcache *regcache,
110  int regnum, const void *regs, size_t len);
111 void sh_corefile_collect_regset (const struct regset *regset,
112  const struct regcache *regcache,
113  int regnum, void *regs, size_t len);
114 #endif /* SH_TDEP_H */
void sh_corefile_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *regs, size_t len)
Definition: sh-tdep.c:2176
struct sh_corefile_regmap * core_fpregmap
Definition: sh-tdep.h:102
struct sh_corefile_regmap * core_gregmap
Definition: sh-tdep.h:97
unsigned int offset
Definition: sh-tdep.h:89
void sh_corefile_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
Definition: sh-tdep.c:2150
const struct regset sh_corefile_gregset
Definition: sh-tdep.c:2199
Definition: regset.h:34
int regnum
Definition: aarch64-tdep.c:69
int sizeof_fpregset
Definition: sh-tdep.h:103
int sizeof_gregset
Definition: sh-tdep.h:98
const ULONGEST const LONGEST len
Definition: target.h:309