GDB (xrefs)
Loading...
Searching...
No Matches
gdb
sh-tdep.h
Go to the documentation of this file.
1
/* Target-specific definition for a Renesas Super-H.
2
Copyright (C) 1993-2023 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
#include "
gdbarch.h
"
23
24
/* Contributed by Steve Chamberlain sac@cygnus.com. */
25
26
/* Registers for all SH variants. Used also by sh3-rom.c. */
27
enum
28
{
29
R0_REGNUM
= 0,
30
STRUCT_RETURN_REGNUM
= 2,
31
ARG0_REGNUM
= 4,
32
ARGLAST_REGNUM
= 7,
33
FP_REGNUM
= 14,
34
PC_REGNUM
= 16,
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
FR0_REGNUM
= 25,
45
FLOAT_ARG0_REGNUM
= 29,
46
FLOAT_ARGLAST_REGNUM
= 36,
47
FP_LAST_REGNUM
= 40,
48
/* sh3,sh4 registers */
49
SSR_REGNUM
= 41,
50
SPC_REGNUM
= 42,
51
/* DSP registers */
52
DSR_REGNUM
= 24,
53
A0G_REGNUM
= 25,
54
A0_REGNUM
= 26,
55
A1G_REGNUM
= 27,
56
A1_REGNUM
= 28,
57
M0_REGNUM
= 29,
58
M1_REGNUM
= 30,
59
X0_REGNUM
= 31,
60
X1_REGNUM
= 32,
61
Y0_REGNUM
= 33,
62
Y1_REGNUM
= 34,
63
MOD_REGNUM
= 40,
64
RS_REGNUM
= 43,
65
RE_REGNUM
= 44,
66
DSP_R0_BANK_REGNUM
= 51,
67
DSP_R7_BANK_REGNUM
= 58,
68
/* sh2a register */
69
R0_BANK0_REGNUM
= 43,
70
MACHB_REGNUM
= 58,
71
IVNB_REGNUM
= 59,
72
PRB_REGNUM
= 60,
73
GBRB_REGNUM
= 61,
74
MACLB_REGNUM
= 62,
75
BANK_REGNUM
= 63,
76
IBCR_REGNUM
= 64,
77
IBNR_REGNUM
= 65,
78
TBR_REGNUM
= 66,
79
PSEUDO_BANK_REGNUM
= 67,
80
/* Floating point pseudo registers */
81
DR0_REGNUM
= 68,
82
DR_LAST_REGNUM
= 75,
83
FV0_REGNUM
= 76,
84
FV_LAST_REGNUM
= 79
85
};
86
87
/* This structure describes a register in a core-file. */
88
struct
sh_corefile_regmap
89
{
90
int
regnum
;
91
unsigned
int
offset
;
92
};
93
94
struct
sh_gdbarch_tdep
:
gdbarch_tdep_base
95
{
96
/* Non-NULL when debugging from a core file. Provides the offset
97
where each general-purpose register is stored inside the associated
98
core file section. */
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
;
108
};
109
110
extern
const
struct
regset
sh_corefile_gregset
;
111
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 */
regnum
int regnum
Definition
aarch64-tdep.c:76
regcache
Definition
regcache.h:338
gdbarch.h
sh_corefile_supply_regset
void sh_corefile_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
Definition
sh-tdep.c:2106
sh_corefile_collect_regset
void sh_corefile_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *regs, size_t len)
Definition
sh-tdep.c:2132
A0_REGNUM
@ A0_REGNUM
Definition
sh-tdep.h:54
ARG0_REGNUM
@ ARG0_REGNUM
Definition
sh-tdep.h:31
GBRB_REGNUM
@ GBRB_REGNUM
Definition
sh-tdep.h:73
X0_REGNUM
@ X0_REGNUM
Definition
sh-tdep.h:59
FP_LAST_REGNUM
@ FP_LAST_REGNUM
Definition
sh-tdep.h:47
R0_REGNUM
@ R0_REGNUM
Definition
sh-tdep.h:29
A0G_REGNUM
@ A0G_REGNUM
Definition
sh-tdep.h:53
FR0_REGNUM
@ FR0_REGNUM
Definition
sh-tdep.h:44
Y0_REGNUM
@ Y0_REGNUM
Definition
sh-tdep.h:61
X1_REGNUM
@ X1_REGNUM
Definition
sh-tdep.h:60
IVNB_REGNUM
@ IVNB_REGNUM
Definition
sh-tdep.h:71
MACL_REGNUM
@ MACL_REGNUM
Definition
sh-tdep.h:39
TBR_REGNUM
@ TBR_REGNUM
Definition
sh-tdep.h:78
FLOAT_ARG0_REGNUM
@ FLOAT_ARG0_REGNUM
Definition
sh-tdep.h:45
FLOAT_ARGLAST_REGNUM
@ FLOAT_ARGLAST_REGNUM
Definition
sh-tdep.h:46
M0_REGNUM
@ M0_REGNUM
Definition
sh-tdep.h:57
FV_LAST_REGNUM
@ FV_LAST_REGNUM
Definition
sh-tdep.h:84
SR_REGNUM
@ SR_REGNUM
Definition
sh-tdep.h:40
MOD_REGNUM
@ MOD_REGNUM
Definition
sh-tdep.h:63
DR0_REGNUM
@ DR0_REGNUM
Definition
sh-tdep.h:81
RE_REGNUM
@ RE_REGNUM
Definition
sh-tdep.h:65
IBCR_REGNUM
@ IBCR_REGNUM
Definition
sh-tdep.h:76
A1G_REGNUM
@ A1G_REGNUM
Definition
sh-tdep.h:55
DSR_REGNUM
@ DSR_REGNUM
Definition
sh-tdep.h:52
R0_BANK0_REGNUM
@ R0_BANK0_REGNUM
Definition
sh-tdep.h:69
IBNR_REGNUM
@ IBNR_REGNUM
Definition
sh-tdep.h:77
DSP_R7_BANK_REGNUM
@ DSP_R7_BANK_REGNUM
Definition
sh-tdep.h:67
RS_REGNUM
@ RS_REGNUM
Definition
sh-tdep.h:64
PRB_REGNUM
@ PRB_REGNUM
Definition
sh-tdep.h:72
SPC_REGNUM
@ SPC_REGNUM
Definition
sh-tdep.h:50
PR_REGNUM
@ PR_REGNUM
Definition
sh-tdep.h:35
DSP_R0_BANK_REGNUM
@ DSP_R0_BANK_REGNUM
Definition
sh-tdep.h:66
MACLB_REGNUM
@ MACLB_REGNUM
Definition
sh-tdep.h:74
Y1_REGNUM
@ Y1_REGNUM
Definition
sh-tdep.h:62
STRUCT_RETURN_REGNUM
@ STRUCT_RETURN_REGNUM
Definition
sh-tdep.h:30
FV0_REGNUM
@ FV0_REGNUM
Definition
sh-tdep.h:83
MACHB_REGNUM
@ MACHB_REGNUM
Definition
sh-tdep.h:70
FP_REGNUM
@ FP_REGNUM
Definition
sh-tdep.h:33
PSEUDO_BANK_REGNUM
@ PSEUDO_BANK_REGNUM
Definition
sh-tdep.h:79
A1_REGNUM
@ A1_REGNUM
Definition
sh-tdep.h:56
VBR_REGNUM
@ VBR_REGNUM
Definition
sh-tdep.h:37
DR_LAST_REGNUM
@ DR_LAST_REGNUM
Definition
sh-tdep.h:82
FPSCR_REGNUM
@ FPSCR_REGNUM
Definition
sh-tdep.h:43
ARGLAST_REGNUM
@ ARGLAST_REGNUM
Definition
sh-tdep.h:32
GBR_REGNUM
@ GBR_REGNUM
Definition
sh-tdep.h:36
MACH_REGNUM
@ MACH_REGNUM
Definition
sh-tdep.h:38
PC_REGNUM
@ PC_REGNUM
Definition
sh-tdep.h:34
BANK_REGNUM
@ BANK_REGNUM
Definition
sh-tdep.h:75
SSR_REGNUM
@ SSR_REGNUM
Definition
sh-tdep.h:49
FPUL_REGNUM
@ FPUL_REGNUM
Definition
sh-tdep.h:41
M1_REGNUM
@ M1_REGNUM
Definition
sh-tdep.h:58
sh_corefile_gregset
const struct regset sh_corefile_gregset
Definition
sh-tdep.c:2155
gdbarch_tdep_base
Definition
gdbarch.h:69
regset
Definition
regset.h:35
sh_corefile_regmap
Definition
sh-tdep.h:89
sh_corefile_regmap::regnum
int regnum
Definition
sh-tdep.h:90
sh_corefile_regmap::offset
unsigned int offset
Definition
sh-tdep.h:91
sh_gdbarch_tdep
Definition
sh-tdep.h:95
sh_gdbarch_tdep::sizeof_gregset
int sizeof_gregset
Definition
sh-tdep.h:100
sh_gdbarch_tdep::sizeof_fpregset
int sizeof_fpregset
Definition
sh-tdep.h:105
sh_gdbarch_tdep::core_fpregmap
struct sh_corefile_regmap * core_fpregmap
Definition
sh-tdep.h:104
sh_gdbarch_tdep::core_gregmap
struct sh_corefile_regmap * core_gregmap
Definition
sh-tdep.h:99
sh_gdbarch_tdep::sh_littlebyte_bigword_type
struct type * sh_littlebyte_bigword_type
Definition
sh-tdep.h:107
type
Definition
gdbtypes.h:951
Generated by
1.10.0