Skip to content
This repository was archived by the owner on Apr 13, 2019. It is now read-only.

Commit 3cc4afd

Browse files
Jim WilsonMichael Clark
authored andcommitted
Second version of gdb stub support, using new FSF GDB xml files.
1 parent 976d04f commit 3cc4afd

File tree

13 files changed

+1022
-106
lines changed

13 files changed

+1022
-106
lines changed

configure

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7172,14 +7172,14 @@ case "$target_name" in
71727172
TARGET_BASE_ARCH=riscv
71737173
TARGET_ABI_DIR=riscv
71747174
mttcg=yes
7175-
gdb_xml_files="riscv-cpu.xml riscv-fpu.xml riscv-csr.xml"
7175+
gdb_xml_files="riscv-32bit-cpu.xml riscv-32bit-fpu.xml riscv-32bit-csr.xml"
71767176
target_compiler=$cross_cc_riscv32
71777177
;;
71787178
riscv64)
71797179
TARGET_BASE_ARCH=riscv
71807180
TARGET_ABI_DIR=riscv
71817181
mttcg=yes
7182-
gdb_xml_files="riscv-cpu.xml riscv-fpu.xml riscv-csr.xml"
7182+
gdb_xml_files="riscv-64bit-cpu.xml riscv-64bit-fpu.xml riscv-64bit-csr.xml"
71837183
target_compiler=$cross_cc_riscv64
71847184
;;
71857185
sh4|sh4eb)

gdb-xml/riscv-32bit-cpu.xml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version="1.0"?>
2+
<!-- Copyright (C) 2018 Free Software Foundation, Inc.
3+
4+
Copying and distribution of this file, with or without modification,
5+
are permitted in any medium without royalty provided the copyright
6+
notice and this notice are preserved. -->
7+
8+
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
9+
<feature name="org.gnu.gdb.riscv.cpu">
10+
<reg name="zero" bitsize="32" type="int"/>
11+
<reg name="ra" bitsize="32" type="code_ptr"/>
12+
<reg name="sp" bitsize="32" type="data_ptr"/>
13+
<reg name="gp" bitsize="32" type="data_ptr"/>
14+
<reg name="tp" bitsize="32" type="data_ptr"/>
15+
<reg name="t0" bitsize="32" type="int"/>
16+
<reg name="t1" bitsize="32" type="int"/>
17+
<reg name="t2" bitsize="32" type="int"/>
18+
<reg name="fp" bitsize="32" type="data_ptr"/>
19+
<reg name="s1" bitsize="32" type="int"/>
20+
<reg name="a0" bitsize="32" type="int"/>
21+
<reg name="a1" bitsize="32" type="int"/>
22+
<reg name="a2" bitsize="32" type="int"/>
23+
<reg name="a3" bitsize="32" type="int"/>
24+
<reg name="a4" bitsize="32" type="int"/>
25+
<reg name="a5" bitsize="32" type="int"/>
26+
<reg name="a6" bitsize="32" type="int"/>
27+
<reg name="a7" bitsize="32" type="int"/>
28+
<reg name="s2" bitsize="32" type="int"/>
29+
<reg name="s3" bitsize="32" type="int"/>
30+
<reg name="s4" bitsize="32" type="int"/>
31+
<reg name="s5" bitsize="32" type="int"/>
32+
<reg name="s6" bitsize="32" type="int"/>
33+
<reg name="s7" bitsize="32" type="int"/>
34+
<reg name="s8" bitsize="32" type="int"/>
35+
<reg name="s9" bitsize="32" type="int"/>
36+
<reg name="s10" bitsize="32" type="int"/>
37+
<reg name="s11" bitsize="32" type="int"/>
38+
<reg name="t3" bitsize="32" type="int"/>
39+
<reg name="t4" bitsize="32" type="int"/>
40+
<reg name="t5" bitsize="32" type="int"/>
41+
<reg name="t6" bitsize="32" type="int"/>
42+
<reg name="pc" bitsize="32" type="code_ptr"/>
43+
</feature>

gdb-xml/riscv-32bit-csr.xml

Lines changed: 250 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,250 @@
1+
<?xml version="1.0"?>
2+
<!-- Copyright (C) 2018 Free Software Foundation, Inc.
3+
4+
Copying and distribution of this file, with or without modification,
5+
are permitted in any medium without royalty provided the copyright
6+
notice and this notice are preserved. -->
7+
8+
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
9+
<feature name="org.gnu.gdb.riscv.csr">
10+
<reg name="ustatus" bitsize="32"/>
11+
<reg name="uie" bitsize="32"/>
12+
<reg name="utvec" bitsize="32"/>
13+
<reg name="uscratch" bitsize="32"/>
14+
<reg name="uepc" bitsize="32"/>
15+
<reg name="ucause" bitsize="32"/>
16+
<reg name="utval" bitsize="32"/>
17+
<reg name="uip" bitsize="32"/>
18+
<reg name="fflags" bitsize="32"/>
19+
<reg name="frm" bitsize="32"/>
20+
<reg name="fcsr" bitsize="32"/>
21+
<reg name="cycle" bitsize="32"/>
22+
<reg name="time" bitsize="32"/>
23+
<reg name="instret" bitsize="32"/>
24+
<reg name="hpmcounter3" bitsize="32"/>
25+
<reg name="hpmcounter4" bitsize="32"/>
26+
<reg name="hpmcounter5" bitsize="32"/>
27+
<reg name="hpmcounter6" bitsize="32"/>
28+
<reg name="hpmcounter7" bitsize="32"/>
29+
<reg name="hpmcounter8" bitsize="32"/>
30+
<reg name="hpmcounter9" bitsize="32"/>
31+
<reg name="hpmcounter10" bitsize="32"/>
32+
<reg name="hpmcounter11" bitsize="32"/>
33+
<reg name="hpmcounter12" bitsize="32"/>
34+
<reg name="hpmcounter13" bitsize="32"/>
35+
<reg name="hpmcounter14" bitsize="32"/>
36+
<reg name="hpmcounter15" bitsize="32"/>
37+
<reg name="hpmcounter16" bitsize="32"/>
38+
<reg name="hpmcounter17" bitsize="32"/>
39+
<reg name="hpmcounter18" bitsize="32"/>
40+
<reg name="hpmcounter19" bitsize="32"/>
41+
<reg name="hpmcounter20" bitsize="32"/>
42+
<reg name="hpmcounter21" bitsize="32"/>
43+
<reg name="hpmcounter22" bitsize="32"/>
44+
<reg name="hpmcounter23" bitsize="32"/>
45+
<reg name="hpmcounter24" bitsize="32"/>
46+
<reg name="hpmcounter25" bitsize="32"/>
47+
<reg name="hpmcounter26" bitsize="32"/>
48+
<reg name="hpmcounter27" bitsize="32"/>
49+
<reg name="hpmcounter28" bitsize="32"/>
50+
<reg name="hpmcounter29" bitsize="32"/>
51+
<reg name="hpmcounter30" bitsize="32"/>
52+
<reg name="hpmcounter31" bitsize="32"/>
53+
<reg name="cycleh" bitsize="32"/>
54+
<reg name="timeh" bitsize="32"/>
55+
<reg name="instreth" bitsize="32"/>
56+
<reg name="hpmcounter3h" bitsize="32"/>
57+
<reg name="hpmcounter4h" bitsize="32"/>
58+
<reg name="hpmcounter5h" bitsize="32"/>
59+
<reg name="hpmcounter6h" bitsize="32"/>
60+
<reg name="hpmcounter7h" bitsize="32"/>
61+
<reg name="hpmcounter8h" bitsize="32"/>
62+
<reg name="hpmcounter9h" bitsize="32"/>
63+
<reg name="hpmcounter10h" bitsize="32"/>
64+
<reg name="hpmcounter11h" bitsize="32"/>
65+
<reg name="hpmcounter12h" bitsize="32"/>
66+
<reg name="hpmcounter13h" bitsize="32"/>
67+
<reg name="hpmcounter14h" bitsize="32"/>
68+
<reg name="hpmcounter15h" bitsize="32"/>
69+
<reg name="hpmcounter16h" bitsize="32"/>
70+
<reg name="hpmcounter17h" bitsize="32"/>
71+
<reg name="hpmcounter18h" bitsize="32"/>
72+
<reg name="hpmcounter19h" bitsize="32"/>
73+
<reg name="hpmcounter20h" bitsize="32"/>
74+
<reg name="hpmcounter21h" bitsize="32"/>
75+
<reg name="hpmcounter22h" bitsize="32"/>
76+
<reg name="hpmcounter23h" bitsize="32"/>
77+
<reg name="hpmcounter24h" bitsize="32"/>
78+
<reg name="hpmcounter25h" bitsize="32"/>
79+
<reg name="hpmcounter26h" bitsize="32"/>
80+
<reg name="hpmcounter27h" bitsize="32"/>
81+
<reg name="hpmcounter28h" bitsize="32"/>
82+
<reg name="hpmcounter29h" bitsize="32"/>
83+
<reg name="hpmcounter30h" bitsize="32"/>
84+
<reg name="hpmcounter31h" bitsize="32"/>
85+
<reg name="sstatus" bitsize="32"/>
86+
<reg name="sedeleg" bitsize="32"/>
87+
<reg name="sideleg" bitsize="32"/>
88+
<reg name="sie" bitsize="32"/>
89+
<reg name="stvec" bitsize="32"/>
90+
<reg name="scounteren" bitsize="32"/>
91+
<reg name="sscratch" bitsize="32"/>
92+
<reg name="sepc" bitsize="32"/>
93+
<reg name="scause" bitsize="32"/>
94+
<reg name="stval" bitsize="32"/>
95+
<reg name="sip" bitsize="32"/>
96+
<reg name="satp" bitsize="32"/>
97+
<reg name="mvendorid" bitsize="32"/>
98+
<reg name="marchid" bitsize="32"/>
99+
<reg name="mimpid" bitsize="32"/>
100+
<reg name="mhartid" bitsize="32"/>
101+
<reg name="mstatus" bitsize="32"/>
102+
<reg name="misa" bitsize="32"/>
103+
<reg name="medeleg" bitsize="32"/>
104+
<reg name="mideleg" bitsize="32"/>
105+
<reg name="mie" bitsize="32"/>
106+
<reg name="mtvec" bitsize="32"/>
107+
<reg name="mcounteren" bitsize="32"/>
108+
<reg name="mscratch" bitsize="32"/>
109+
<reg name="mepc" bitsize="32"/>
110+
<reg name="mcause" bitsize="32"/>
111+
<reg name="mtval" bitsize="32"/>
112+
<reg name="mip" bitsize="32"/>
113+
<reg name="pmpcfg0" bitsize="32"/>
114+
<reg name="pmpcfg1" bitsize="32"/>
115+
<reg name="pmpcfg2" bitsize="32"/>
116+
<reg name="pmpcfg3" bitsize="32"/>
117+
<reg name="pmpaddr0" bitsize="32"/>
118+
<reg name="pmpaddr1" bitsize="32"/>
119+
<reg name="pmpaddr2" bitsize="32"/>
120+
<reg name="pmpaddr3" bitsize="32"/>
121+
<reg name="pmpaddr4" bitsize="32"/>
122+
<reg name="pmpaddr5" bitsize="32"/>
123+
<reg name="pmpaddr6" bitsize="32"/>
124+
<reg name="pmpaddr7" bitsize="32"/>
125+
<reg name="pmpaddr8" bitsize="32"/>
126+
<reg name="pmpaddr9" bitsize="32"/>
127+
<reg name="pmpaddr10" bitsize="32"/>
128+
<reg name="pmpaddr11" bitsize="32"/>
129+
<reg name="pmpaddr12" bitsize="32"/>
130+
<reg name="pmpaddr13" bitsize="32"/>
131+
<reg name="pmpaddr14" bitsize="32"/>
132+
<reg name="pmpaddr15" bitsize="32"/>
133+
<reg name="mcycle" bitsize="32"/>
134+
<reg name="minstret" bitsize="32"/>
135+
<reg name="mhpmcounter3" bitsize="32"/>
136+
<reg name="mhpmcounter4" bitsize="32"/>
137+
<reg name="mhpmcounter5" bitsize="32"/>
138+
<reg name="mhpmcounter6" bitsize="32"/>
139+
<reg name="mhpmcounter7" bitsize="32"/>
140+
<reg name="mhpmcounter8" bitsize="32"/>
141+
<reg name="mhpmcounter9" bitsize="32"/>
142+
<reg name="mhpmcounter10" bitsize="32"/>
143+
<reg name="mhpmcounter11" bitsize="32"/>
144+
<reg name="mhpmcounter12" bitsize="32"/>
145+
<reg name="mhpmcounter13" bitsize="32"/>
146+
<reg name="mhpmcounter14" bitsize="32"/>
147+
<reg name="mhpmcounter15" bitsize="32"/>
148+
<reg name="mhpmcounter16" bitsize="32"/>
149+
<reg name="mhpmcounter17" bitsize="32"/>
150+
<reg name="mhpmcounter18" bitsize="32"/>
151+
<reg name="mhpmcounter19" bitsize="32"/>
152+
<reg name="mhpmcounter20" bitsize="32"/>
153+
<reg name="mhpmcounter21" bitsize="32"/>
154+
<reg name="mhpmcounter22" bitsize="32"/>
155+
<reg name="mhpmcounter23" bitsize="32"/>
156+
<reg name="mhpmcounter24" bitsize="32"/>
157+
<reg name="mhpmcounter25" bitsize="32"/>
158+
<reg name="mhpmcounter26" bitsize="32"/>
159+
<reg name="mhpmcounter27" bitsize="32"/>
160+
<reg name="mhpmcounter28" bitsize="32"/>
161+
<reg name="mhpmcounter29" bitsize="32"/>
162+
<reg name="mhpmcounter30" bitsize="32"/>
163+
<reg name="mhpmcounter31" bitsize="32"/>
164+
<reg name="mcycleh" bitsize="32"/>
165+
<reg name="minstreth" bitsize="32"/>
166+
<reg name="mhpmcounter3h" bitsize="32"/>
167+
<reg name="mhpmcounter4h" bitsize="32"/>
168+
<reg name="mhpmcounter5h" bitsize="32"/>
169+
<reg name="mhpmcounter6h" bitsize="32"/>
170+
<reg name="mhpmcounter7h" bitsize="32"/>
171+
<reg name="mhpmcounter8h" bitsize="32"/>
172+
<reg name="mhpmcounter9h" bitsize="32"/>
173+
<reg name="mhpmcounter10h" bitsize="32"/>
174+
<reg name="mhpmcounter11h" bitsize="32"/>
175+
<reg name="mhpmcounter12h" bitsize="32"/>
176+
<reg name="mhpmcounter13h" bitsize="32"/>
177+
<reg name="mhpmcounter14h" bitsize="32"/>
178+
<reg name="mhpmcounter15h" bitsize="32"/>
179+
<reg name="mhpmcounter16h" bitsize="32"/>
180+
<reg name="mhpmcounter17h" bitsize="32"/>
181+
<reg name="mhpmcounter18h" bitsize="32"/>
182+
<reg name="mhpmcounter19h" bitsize="32"/>
183+
<reg name="mhpmcounter20h" bitsize="32"/>
184+
<reg name="mhpmcounter21h" bitsize="32"/>
185+
<reg name="mhpmcounter22h" bitsize="32"/>
186+
<reg name="mhpmcounter23h" bitsize="32"/>
187+
<reg name="mhpmcounter24h" bitsize="32"/>
188+
<reg name="mhpmcounter25h" bitsize="32"/>
189+
<reg name="mhpmcounter26h" bitsize="32"/>
190+
<reg name="mhpmcounter27h" bitsize="32"/>
191+
<reg name="mhpmcounter28h" bitsize="32"/>
192+
<reg name="mhpmcounter29h" bitsize="32"/>
193+
<reg name="mhpmcounter30h" bitsize="32"/>
194+
<reg name="mhpmcounter31h" bitsize="32"/>
195+
<reg name="mhpmevent3" bitsize="32"/>
196+
<reg name="mhpmevent4" bitsize="32"/>
197+
<reg name="mhpmevent5" bitsize="32"/>
198+
<reg name="mhpmevent6" bitsize="32"/>
199+
<reg name="mhpmevent7" bitsize="32"/>
200+
<reg name="mhpmevent8" bitsize="32"/>
201+
<reg name="mhpmevent9" bitsize="32"/>
202+
<reg name="mhpmevent10" bitsize="32"/>
203+
<reg name="mhpmevent11" bitsize="32"/>
204+
<reg name="mhpmevent12" bitsize="32"/>
205+
<reg name="mhpmevent13" bitsize="32"/>
206+
<reg name="mhpmevent14" bitsize="32"/>
207+
<reg name="mhpmevent15" bitsize="32"/>
208+
<reg name="mhpmevent16" bitsize="32"/>
209+
<reg name="mhpmevent17" bitsize="32"/>
210+
<reg name="mhpmevent18" bitsize="32"/>
211+
<reg name="mhpmevent19" bitsize="32"/>
212+
<reg name="mhpmevent20" bitsize="32"/>
213+
<reg name="mhpmevent21" bitsize="32"/>
214+
<reg name="mhpmevent22" bitsize="32"/>
215+
<reg name="mhpmevent23" bitsize="32"/>
216+
<reg name="mhpmevent24" bitsize="32"/>
217+
<reg name="mhpmevent25" bitsize="32"/>
218+
<reg name="mhpmevent26" bitsize="32"/>
219+
<reg name="mhpmevent27" bitsize="32"/>
220+
<reg name="mhpmevent28" bitsize="32"/>
221+
<reg name="mhpmevent29" bitsize="32"/>
222+
<reg name="mhpmevent30" bitsize="32"/>
223+
<reg name="mhpmevent31" bitsize="32"/>
224+
<reg name="tselect" bitsize="32"/>
225+
<reg name="tdata1" bitsize="32"/>
226+
<reg name="tdata2" bitsize="32"/>
227+
<reg name="tdata3" bitsize="32"/>
228+
<reg name="dcsr" bitsize="32"/>
229+
<reg name="dpc" bitsize="32"/>
230+
<reg name="dscratch" bitsize="32"/>
231+
<reg name="hstatus" bitsize="32"/>
232+
<reg name="hedeleg" bitsize="32"/>
233+
<reg name="hideleg" bitsize="32"/>
234+
<reg name="hie" bitsize="32"/>
235+
<reg name="htvec" bitsize="32"/>
236+
<reg name="hscratch" bitsize="32"/>
237+
<reg name="hepc" bitsize="32"/>
238+
<reg name="hcause" bitsize="32"/>
239+
<reg name="hbadaddr" bitsize="32"/>
240+
<reg name="hip" bitsize="32"/>
241+
<reg name="mbase" bitsize="32"/>
242+
<reg name="mbound" bitsize="32"/>
243+
<reg name="mibase" bitsize="32"/>
244+
<reg name="mibound" bitsize="32"/>
245+
<reg name="mdbase" bitsize="32"/>
246+
<reg name="mdbound" bitsize="32"/>
247+
<reg name="mucounteren" bitsize="32"/>
248+
<reg name="mscounteren" bitsize="32"/>
249+
<reg name="mhcounteren" bitsize="32"/>
250+
</feature>

gdb-xml/riscv-32bit-fpu.xml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?xml version="1.0"?>
2+
<!-- Copyright (C) 2018 Free Software Foundation, Inc.
3+
4+
Copying and distribution of this file, with or without modification,
5+
are permitted in any medium without royalty provided the copyright
6+
notice and this notice are preserved. -->
7+
8+
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
9+
<feature name="org.gnu.gdb.riscv.fpu">
10+
<reg name="ft0" bitsize="32" type="ieee_single"/>
11+
<reg name="ft1" bitsize="32" type="ieee_single"/>
12+
<reg name="ft2" bitsize="32" type="ieee_single"/>
13+
<reg name="ft3" bitsize="32" type="ieee_single"/>
14+
<reg name="ft4" bitsize="32" type="ieee_single"/>
15+
<reg name="ft5" bitsize="32" type="ieee_single"/>
16+
<reg name="ft6" bitsize="32" type="ieee_single"/>
17+
<reg name="ft7" bitsize="32" type="ieee_single"/>
18+
<reg name="fs0" bitsize="32" type="ieee_single"/>
19+
<reg name="fs1" bitsize="32" type="ieee_single"/>
20+
<reg name="fa0" bitsize="32" type="ieee_single"/>
21+
<reg name="fa1" bitsize="32" type="ieee_single"/>
22+
<reg name="fa2" bitsize="32" type="ieee_single"/>
23+
<reg name="fa3" bitsize="32" type="ieee_single"/>
24+
<reg name="fa4" bitsize="32" type="ieee_single"/>
25+
<reg name="fa5" bitsize="32" type="ieee_single"/>
26+
<reg name="fa6" bitsize="32" type="ieee_single"/>
27+
<reg name="fa7" bitsize="32" type="ieee_single"/>
28+
<reg name="fs2" bitsize="32" type="ieee_single"/>
29+
<reg name="fs3" bitsize="32" type="ieee_single"/>
30+
<reg name="fs4" bitsize="32" type="ieee_single"/>
31+
<reg name="fs5" bitsize="32" type="ieee_single"/>
32+
<reg name="fs6" bitsize="32" type="ieee_single"/>
33+
<reg name="fs7" bitsize="32" type="ieee_single"/>
34+
<reg name="fs8" bitsize="32" type="ieee_single"/>
35+
<reg name="fs9" bitsize="32" type="ieee_single"/>
36+
<reg name="fs10" bitsize="32" type="ieee_single"/>
37+
<reg name="fs11" bitsize="32" type="ieee_single"/>
38+
<reg name="ft8" bitsize="32" type="ieee_single"/>
39+
<reg name="ft9" bitsize="32" type="ieee_single"/>
40+
<reg name="ft10" bitsize="32" type="ieee_single"/>
41+
<reg name="ft11" bitsize="32" type="ieee_single"/>
42+
43+
<reg name="fflags" bitsize="32" type="int"/>
44+
<reg name="frm" bitsize="32" type="int"/>
45+
<reg name="fcsr" bitsize="32" type="int"/>
46+
</feature>

0 commit comments

Comments
 (0)