aboutsummaryrefslogtreecommitdiff
path: root/gdb/features
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2020-06-15 19:22:22 +0100
committerAndrew Burgess <andrew.burgess@embecosm.com>2020-06-25 18:07:30 +0100
commit865bad2602bd212875063968ae429fca8f9190d1 (patch)
treed7d7903299bb834569ee4b19e98bd5c4cecbe5ae /gdb/features
parented69cbc8ef0a403caff2725072362252ac27bee3 (diff)
downloadgdb-865bad2602bd212875063968ae429fca8f9190d1.zip
gdb-865bad2602bd212875063968ae429fca8f9190d1.tar.gz
gdb-865bad2602bd212875063968ae429fca8f9190d1.tar.bz2
gdb/riscv: Remove CSR feature file
There is currently a bug in the RISC-V CSR/FPU feature files. The CSRs containing the FPU status registers are mentioned in both the FPU feature file and the CSR feature file. My original thinking when adding the FPU feature file was that it made more sense to group the FPU status registers with the other FPU state. This opened up the possibility of debugging very simple (possibly simulator only) targets that had little more than CPU and FPU available for GDB to access. When I then added code to automatically generate the CSR XML file I forgot to filter out the FPU status CSRs, so these registers were mentioned twice. Now for GDB's default RISC-V target descriptions this doesn't actually matter. I did consider adding the CSRs to the default target description, but in the end I didn't bother. The reasoning again was simplicity; the default target description is only to be used when the target doesn't supply its own description, and NOT supplying the CSRs actually serves to encourage targets to supply an accurate description. Combine this with the fact that the CSRs change from revision to revision, sometimes in non-backward compatible ways, then having a "default" set of CSRs just feels like a path to confusion and complaints. However, having a broken CSR XML file in the GDB source tree has had one negative effect, QEMU has copied this file into its source tree, and is using this as its description that it passes to GDB. That is QEMU announces the FPU status registers twice, once in the FPU feature, and once in the CSR feature. This commit starts along the path back to sanity by deleting the default CSR XML files from within GDB. These files were not used in any way by current GDB, so there is absolutely no loss of functionality with this change. gdb/ChangeLog: * features/Makefile: Remove all references to the deleted files below. * features/riscv/32bit-csr.c: Deleted. * features/riscv/32bit-csr.xml: Deleted. * features/riscv/64bit-csr.c: Deleted. * features/riscv/64bit-csr.xml: Deleted. * features/riscv/rebuild-csr-xml.sh: Deleted.
Diffstat (limited to 'gdb/features')
-rw-r--r--gdb/features/Makefile6
-rw-r--r--gdb/features/riscv/32bit-csr.c253
-rw-r--r--gdb/features/riscv/32bit-csr.xml251
-rw-r--r--gdb/features/riscv/64bit-csr.c253
-rw-r--r--gdb/features/riscv/64bit-csr.xml186
-rwxr-xr-xgdb/features/riscv/rebuild-csr-xml.sh37
6 files changed, 0 insertions, 986 deletions
diff --git a/gdb/features/Makefile b/gdb/features/Makefile
index f2dd279..d0af9a4 100644
--- a/gdb/features/Makefile
+++ b/gdb/features/Makefile
@@ -229,10 +229,8 @@ FEATURE_XMLFILES = aarch64-core.xml \
i386/64bit-sse.xml \
i386/x32-core.xml \
riscv/32bit-cpu.xml \
- riscv/32bit-csr.xml \
riscv/32bit-fpu.xml \
riscv/64bit-cpu.xml \
- riscv/64bit-csr.xml \
riscv/64bit-fpu.xml \
rx.xml \
tic6x-c6xp.xml \
@@ -265,10 +263,6 @@ $(FEATURE_CFILES): %.c: %.xml.tmp
echo "</target>" >> $@.tmp
sh ../../move-if-change $@.tmp $@
-# Regenerate RISC-V CSR feature lists.
-riscv/32bit-csr.xml riscv/64bit-csr.xml: ../../include/opcode/riscv-opc.h
- ./riscv/rebuild-csr-xml.sh ../../include/opcode/riscv-opc.h ./riscv
-
# 'all' doesn't build the C files, so don't delete them in 'clean'
# either.
clean-cfiles:
diff --git a/gdb/features/riscv/32bit-csr.c b/gdb/features/riscv/32bit-csr.c
deleted file mode 100644
index d306bc8..0000000
--- a/gdb/features/riscv/32bit-csr.c
+++ /dev/null
@@ -1,253 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: 32bit-csr.xml */
-
-#include "gdbsupport/tdesc.h"
-
-static int
-create_feature_riscv_32bit_csr (struct target_desc *result, long regnum)
-{
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.riscv.csr");
- tdesc_create_reg (feature, "ustatus", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "uie", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "utvec", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "uscratch", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "uepc", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ucause", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "utval", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "uip", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "fflags", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "frm", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "fcsr", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "cycle", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "time", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "instret", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter3", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter4", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter5", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter6", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter7", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter8", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter9", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter10", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter11", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter12", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter13", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter14", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter15", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter16", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter17", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter18", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter19", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter20", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter21", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter22", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter23", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter24", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter25", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter26", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter27", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter28", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter29", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter30", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter31", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "cycleh", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "timeh", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "instreth", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter3h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter4h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter5h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter6h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter7h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter8h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter9h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter10h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter11h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter12h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter13h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter14h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter15h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter16h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter17h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter18h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter19h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter20h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter21h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter22h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter23h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter24h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter25h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter26h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter27h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter28h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter29h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter30h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hpmcounter31h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "sstatus", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "sedeleg", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "sideleg", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "sie", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "stvec", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "scounteren", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "sscratch", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "sepc", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "scause", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "stval", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "sip", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "satp", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mvendorid", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "marchid", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mimpid", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhartid", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mstatus", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "misa", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "medeleg", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mideleg", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mie", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mtvec", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mcounteren", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mscratch", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mepc", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mcause", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mtval", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mip", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpcfg0", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpcfg1", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpcfg2", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpcfg3", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr0", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr1", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr2", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr3", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr4", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr5", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr6", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr7", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr8", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr9", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr10", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr11", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr12", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr13", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr14", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "pmpaddr15", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mcycle", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "minstret", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter3", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter4", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter5", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter6", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter7", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter8", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter9", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter10", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter11", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter12", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter13", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter14", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter15", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter16", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter17", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter18", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter19", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter20", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter21", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter22", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter23", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter24", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter25", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter26", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter27", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter28", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter29", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter30", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter31", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mcycleh", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "minstreth", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter3h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter4h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter5h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter6h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter7h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter8h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter9h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter10h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter11h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter12h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter13h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter14h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter15h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter16h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter17h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter18h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter19h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter20h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter21h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter22h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter23h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter24h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter25h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter26h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter27h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter28h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter29h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter30h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmcounter31h", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent3", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent4", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent5", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent6", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent7", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent8", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent9", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent10", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent11", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent12", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent13", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent14", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent15", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent16", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent17", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent18", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent19", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent20", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent21", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent22", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent23", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent24", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent25", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent26", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent27", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent28", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent29", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent30", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhpmevent31", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "tselect", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "tdata1", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "tdata2", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "tdata3", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "dcsr", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "dpc", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "dscratch", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hstatus", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hedeleg", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hideleg", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hie", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "htvec", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hscratch", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hepc", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hcause", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hbadaddr", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hip", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mbase", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mbound", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mibase", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mibound", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mdbase", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mdbound", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mucounteren", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mscounteren", regnum++, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "mhcounteren", regnum++, 1, NULL, 32, "int");
- return regnum;
-}
diff --git a/gdb/features/riscv/32bit-csr.xml b/gdb/features/riscv/32bit-csr.xml
deleted file mode 100644
index 8173eeb..0000000
--- a/gdb/features/riscv/32bit-csr.xml
+++ /dev/null
@@ -1,251 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-<feature name="org.gnu.gdb.riscv.csr">
- <reg name="ustatus" bitsize="32"/>
- <reg name="uie" bitsize="32"/>
- <reg name="utvec" bitsize="32"/>
- <reg name="uscratch" bitsize="32"/>
- <reg name="uepc" bitsize="32"/>
- <reg name="ucause" bitsize="32"/>
- <reg name="utval" bitsize="32"/>
- <reg name="uip" bitsize="32"/>
- <reg name="fflags" bitsize="32"/>
- <reg name="frm" bitsize="32"/>
- <reg name="fcsr" bitsize="32"/>
- <reg name="cycle" bitsize="32"/>
- <reg name="time" bitsize="32"/>
- <reg name="instret" bitsize="32"/>
- <reg name="hpmcounter3" bitsize="32"/>
- <reg name="hpmcounter4" bitsize="32"/>
- <reg name="hpmcounter5" bitsize="32"/>
- <reg name="hpmcounter6" bitsize="32"/>
- <reg name="hpmcounter7" bitsize="32"/>
- <reg name="hpmcounter8" bitsize="32"/>
- <reg name="hpmcounter9" bitsize="32"/>
- <reg name="hpmcounter10" bitsize="32"/>
- <reg name="hpmcounter11" bitsize="32"/>
- <reg name="hpmcounter12" bitsize="32"/>
- <reg name="hpmcounter13" bitsize="32"/>
- <reg name="hpmcounter14" bitsize="32"/>
- <reg name="hpmcounter15" bitsize="32"/>
- <reg name="hpmcounter16" bitsize="32"/>
- <reg name="hpmcounter17" bitsize="32"/>
- <reg name="hpmcounter18" bitsize="32"/>
- <reg name="hpmcounter19" bitsize="32"/>
- <reg name="hpmcounter20" bitsize="32"/>
- <reg name="hpmcounter21" bitsize="32"/>
- <reg name="hpmcounter22" bitsize="32"/>
- <reg name="hpmcounter23" bitsize="32"/>
- <reg name="hpmcounter24" bitsize="32"/>
- <reg name="hpmcounter25" bitsize="32"/>
- <reg name="hpmcounter26" bitsize="32"/>
- <reg name="hpmcounter27" bitsize="32"/>
- <reg name="hpmcounter28" bitsize="32"/>
- <reg name="hpmcounter29" bitsize="32"/>
- <reg name="hpmcounter30" bitsize="32"/>
- <reg name="hpmcounter31" bitsize="32"/>
- <reg name="cycleh" bitsize="32"/>
- <reg name="timeh" bitsize="32"/>
- <reg name="instreth" bitsize="32"/>
- <reg name="hpmcounter3h" bitsize="32"/>
- <reg name="hpmcounter4h" bitsize="32"/>
- <reg name="hpmcounter5h" bitsize="32"/>
- <reg name="hpmcounter6h" bitsize="32"/>
- <reg name="hpmcounter7h" bitsize="32"/>
- <reg name="hpmcounter8h" bitsize="32"/>
- <reg name="hpmcounter9h" bitsize="32"/>
- <reg name="hpmcounter10h" bitsize="32"/>
- <reg name="hpmcounter11h" bitsize="32"/>
- <reg name="hpmcounter12h" bitsize="32"/>
- <reg name="hpmcounter13h" bitsize="32"/>
- <reg name="hpmcounter14h" bitsize="32"/>
- <reg name="hpmcounter15h" bitsize="32"/>
- <reg name="hpmcounter16h" bitsize="32"/>
- <reg name="hpmcounter17h" bitsize="32"/>
- <reg name="hpmcounter18h" bitsize="32"/>
- <reg name="hpmcounter19h" bitsize="32"/>
- <reg name="hpmcounter20h" bitsize="32"/>
- <reg name="hpmcounter21h" bitsize="32"/>
- <reg name="hpmcounter22h" bitsize="32"/>
- <reg name="hpmcounter23h" bitsize="32"/>
- <reg name="hpmcounter24h" bitsize="32"/>
- <reg name="hpmcounter25h" bitsize="32"/>
- <reg name="hpmcounter26h" bitsize="32"/>
- <reg name="hpmcounter27h" bitsize="32"/>
- <reg name="hpmcounter28h" bitsize="32"/>
- <reg name="hpmcounter29h" bitsize="32"/>
- <reg name="hpmcounter30h" bitsize="32"/>
- <reg name="hpmcounter31h" bitsize="32"/>
- <reg name="sstatus" bitsize="32"/>
- <reg name="sedeleg" bitsize="32"/>
- <reg name="sideleg" bitsize="32"/>
- <reg name="sie" bitsize="32"/>
- <reg name="stvec" bitsize="32"/>
- <reg name="scounteren" bitsize="32"/>
- <reg name="sscratch" bitsize="32"/>
- <reg name="sepc" bitsize="32"/>
- <reg name="scause" bitsize="32"/>
- <reg name="stval" bitsize="32"/>
- <reg name="sip" bitsize="32"/>
- <reg name="satp" bitsize="32"/>
- <reg name="mvendorid" bitsize="32"/>
- <reg name="marchid" bitsize="32"/>
- <reg name="mimpid" bitsize="32"/>
- <reg name="mhartid" bitsize="32"/>
- <reg name="mstatus" bitsize="32"/>
- <reg name="misa" bitsize="32"/>
- <reg name="medeleg" bitsize="32"/>
- <reg name="mideleg" bitsize="32"/>
- <reg name="mie" bitsize="32"/>
- <reg name="mtvec" bitsize="32"/>
- <reg name="mcounteren" bitsize="32"/>
- <reg name="mscratch" bitsize="32"/>
- <reg name="mepc" bitsize="32"/>
- <reg name="mcause" bitsize="32"/>
- <reg name="mtval" bitsize="32"/>
- <reg name="mip" bitsize="32"/>
- <reg name="pmpcfg0" bitsize="32"/>
- <reg name="pmpcfg1" bitsize="32"/>
- <reg name="pmpcfg2" bitsize="32"/>
- <reg name="pmpcfg3" bitsize="32"/>
- <reg name="pmpaddr0" bitsize="32"/>
- <reg name="pmpaddr1" bitsize="32"/>
- <reg name="pmpaddr2" bitsize="32"/>
- <reg name="pmpaddr3" bitsize="32"/>
- <reg name="pmpaddr4" bitsize="32"/>
- <reg name="pmpaddr5" bitsize="32"/>
- <reg name="pmpaddr6" bitsize="32"/>
- <reg name="pmpaddr7" bitsize="32"/>
- <reg name="pmpaddr8" bitsize="32"/>
- <reg name="pmpaddr9" bitsize="32"/>
- <reg name="pmpaddr10" bitsize="32"/>
- <reg name="pmpaddr11" bitsize="32"/>
- <reg name="pmpaddr12" bitsize="32"/>
- <reg name="pmpaddr13" bitsize="32"/>
- <reg name="pmpaddr14" bitsize="32"/>
- <reg name="pmpaddr15" bitsize="32"/>
- <reg name="mcycle" bitsize="32"/>
- <reg name="minstret" bitsize="32"/>
- <reg name="mhpmcounter3" bitsize="32"/>
- <reg name="mhpmcounter4" bitsize="32"/>
- <reg name="mhpmcounter5" bitsize="32"/>
- <reg name="mhpmcounter6" bitsize="32"/>
- <reg name="mhpmcounter7" bitsize="32"/>
- <reg name="mhpmcounter8" bitsize="32"/>
- <reg name="mhpmcounter9" bitsize="32"/>
- <reg name="mhpmcounter10" bitsize="32"/>
- <reg name="mhpmcounter11" bitsize="32"/>
- <reg name="mhpmcounter12" bitsize="32"/>
- <reg name="mhpmcounter13" bitsize="32"/>
- <reg name="mhpmcounter14" bitsize="32"/>
- <reg name="mhpmcounter15" bitsize="32"/>
- <reg name="mhpmcounter16" bitsize="32"/>
- <reg name="mhpmcounter17" bitsize="32"/>
- <reg name="mhpmcounter18" bitsize="32"/>
- <reg name="mhpmcounter19" bitsize="32"/>
- <reg name="mhpmcounter20" bitsize="32"/>
- <reg name="mhpmcounter21" bitsize="32"/>
- <reg name="mhpmcounter22" bitsize="32"/>
- <reg name="mhpmcounter23" bitsize="32"/>
- <reg name="mhpmcounter24" bitsize="32"/>
- <reg name="mhpmcounter25" bitsize="32"/>
- <reg name="mhpmcounter26" bitsize="32"/>
- <reg name="mhpmcounter27" bitsize="32"/>
- <reg name="mhpmcounter28" bitsize="32"/>
- <reg name="mhpmcounter29" bitsize="32"/>
- <reg name="mhpmcounter30" bitsize="32"/>
- <reg name="mhpmcounter31" bitsize="32"/>
- <reg name="mcycleh" bitsize="32"/>
- <reg name="minstreth" bitsize="32"/>
- <reg name="mhpmcounter3h" bitsize="32"/>
- <reg name="mhpmcounter4h" bitsize="32"/>
- <reg name="mhpmcounter5h" bitsize="32"/>
- <reg name="mhpmcounter6h" bitsize="32"/>
- <reg name="mhpmcounter7h" bitsize="32"/>
- <reg name="mhpmcounter8h" bitsize="32"/>
- <reg name="mhpmcounter9h" bitsize="32"/>
- <reg name="mhpmcounter10h" bitsize="32"/>
- <reg name="mhpmcounter11h" bitsize="32"/>
- <reg name="mhpmcounter12h" bitsize="32"/>
- <reg name="mhpmcounter13h" bitsize="32"/>
- <reg name="mhpmcounter14h" bitsize="32"/>
- <reg name="mhpmcounter15h" bitsize="32"/>
- <reg name="mhpmcounter16h" bitsize="32"/>
- <reg name="mhpmcounter17h" bitsize="32"/>
- <reg name="mhpmcounter18h" bitsize="32"/>
- <reg name="mhpmcounter19h" bitsize="32"/>
- <reg name="mhpmcounter20h" bitsize="32"/>
- <reg name="mhpmcounter21h" bitsize="32"/>
- <reg name="mhpmcounter22h" bitsize="32"/>
- <reg name="mhpmcounter23h" bitsize="32"/>
- <reg name="mhpmcounter24h" bitsize="32"/>
- <reg name="mhpmcounter25h" bitsize="32"/>
- <reg name="mhpmcounter26h" bitsize="32"/>
- <reg name="mhpmcounter27h" bitsize="32"/>
- <reg name="mhpmcounter28h" bitsize="32"/>
- <reg name="mhpmcounter29h" bitsize="32"/>
- <reg name="mhpmcounter30h" bitsize="32"/>
- <reg name="mhpmcounter31h" bitsize="32"/>
- <reg name="mcountinhibit" bitsize="32"/>
- <reg name="mhpmevent3" bitsize="32"/>
- <reg name="mhpmevent4" bitsize="32"/>
- <reg name="mhpmevent5" bitsize="32"/>
- <reg name="mhpmevent6" bitsize="32"/>
- <reg name="mhpmevent7" bitsize="32"/>
- <reg name="mhpmevent8" bitsize="32"/>
- <reg name="mhpmevent9" bitsize="32"/>
- <reg name="mhpmevent10" bitsize="32"/>
- <reg name="mhpmevent11" bitsize="32"/>
- <reg name="mhpmevent12" bitsize="32"/>
- <reg name="mhpmevent13" bitsize="32"/>
- <reg name="mhpmevent14" bitsize="32"/>
- <reg name="mhpmevent15" bitsize="32"/>
- <reg name="mhpmevent16" bitsize="32"/>
- <reg name="mhpmevent17" bitsize="32"/>
- <reg name="mhpmevent18" bitsize="32"/>
- <reg name="mhpmevent19" bitsize="32"/>
- <reg name="mhpmevent20" bitsize="32"/>
- <reg name="mhpmevent21" bitsize="32"/>
- <reg name="mhpmevent22" bitsize="32"/>
- <reg name="mhpmevent23" bitsize="32"/>
- <reg name="mhpmevent24" bitsize="32"/>
- <reg name="mhpmevent25" bitsize="32"/>
- <reg name="mhpmevent26" bitsize="32"/>
- <reg name="mhpmevent27" bitsize="32"/>
- <reg name="mhpmevent28" bitsize="32"/>
- <reg name="mhpmevent29" bitsize="32"/>
- <reg name="mhpmevent30" bitsize="32"/>
- <reg name="mhpmevent31" bitsize="32"/>
- <reg name="tselect" bitsize="32"/>
- <reg name="tdata1" bitsize="32"/>
- <reg name="tdata2" bitsize="32"/>
- <reg name="tdata3" bitsize="32"/>
- <reg name="dcsr" bitsize="32"/>
- <reg name="dpc" bitsize="32"/>
- <reg name="dscratch0" bitsize="32"/>
- <reg name="dscratch1" bitsize="32"/>
- <reg name="hstatus" bitsize="32"/>
- <reg name="hedeleg" bitsize="32"/>
- <reg name="hideleg" bitsize="32"/>
- <reg name="hie" bitsize="32"/>
- <reg name="htvec" bitsize="32"/>
- <reg name="hscratch" bitsize="32"/>
- <reg name="hepc" bitsize="32"/>
- <reg name="hcause" bitsize="32"/>
- <reg name="hbadaddr" bitsize="32"/>
- <reg name="hip" bitsize="32"/>
- <reg name="mbase" bitsize="32"/>
- <reg name="mbound" bitsize="32"/>
- <reg name="mibase" bitsize="32"/>
- <reg name="mibound" bitsize="32"/>
- <reg name="mdbase" bitsize="32"/>
- <reg name="mdbound" bitsize="32"/>
- <reg name="mscounteren" bitsize="32"/>
- <reg name="mhcounteren" bitsize="32"/>
-</feature>
diff --git a/gdb/features/riscv/64bit-csr.c b/gdb/features/riscv/64bit-csr.c
deleted file mode 100644
index e46a77f..0000000
--- a/gdb/features/riscv/64bit-csr.c
+++ /dev/null
@@ -1,253 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: 64bit-csr.xml */
-
-#include "gdbsupport/tdesc.h"
-
-static int
-create_feature_riscv_64bit_csr (struct target_desc *result, long regnum)
-{
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.riscv.csr");
- tdesc_create_reg (feature, "ustatus", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "uie", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "utvec", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "uscratch", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "uepc", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "ucause", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "utval", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "uip", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "fflags", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "frm", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "fcsr", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "cycle", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "time", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "instret", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter3", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter4", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter5", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter6", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter7", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter8", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter9", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter10", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter11", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter12", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter13", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter14", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter15", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter16", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter17", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter18", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter19", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter20", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter21", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter22", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter23", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter24", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter25", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter26", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter27", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter28", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter29", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter30", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter31", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "cycleh", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "timeh", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "instreth", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter3h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter4h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter5h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter6h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter7h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter8h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter9h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter10h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter11h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter12h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter13h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter14h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter15h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter16h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter17h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter18h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter19h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter20h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter21h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter22h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter23h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter24h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter25h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter26h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter27h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter28h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter29h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter30h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hpmcounter31h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "sstatus", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "sedeleg", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "sideleg", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "sie", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "stvec", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "scounteren", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "sscratch", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "sepc", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "scause", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "stval", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "sip", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "satp", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mvendorid", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "marchid", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mimpid", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhartid", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mstatus", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "misa", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "medeleg", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mideleg", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mie", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mtvec", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mcounteren", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mscratch", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mepc", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mcause", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mtval", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mip", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpcfg0", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpcfg1", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpcfg2", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpcfg3", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr0", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr1", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr2", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr3", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr4", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr5", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr6", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr7", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr8", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr9", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr10", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr11", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr12", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr13", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr14", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "pmpaddr15", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mcycle", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "minstret", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter3", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter4", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter5", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter6", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter7", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter8", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter9", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter10", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter11", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter12", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter13", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter14", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter15", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter16", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter17", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter18", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter19", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter20", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter21", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter22", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter23", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter24", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter25", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter26", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter27", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter28", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter29", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter30", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter31", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mcycleh", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "minstreth", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter3h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter4h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter5h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter6h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter7h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter8h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter9h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter10h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter11h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter12h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter13h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter14h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter15h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter16h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter17h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter18h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter19h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter20h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter21h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter22h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter23h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter24h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter25h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter26h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter27h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter28h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter29h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter30h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmcounter31h", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent3", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent4", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent5", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent6", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent7", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent8", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent9", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent10", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent11", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent12", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent13", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent14", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent15", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent16", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent17", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent18", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent19", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent20", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent21", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent22", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent23", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent24", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent25", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent26", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent27", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent28", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent29", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent30", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhpmevent31", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "tselect", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "tdata1", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "tdata2", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "tdata3", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "dcsr", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "dpc", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "dscratch", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hstatus", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hedeleg", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hideleg", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hie", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "htvec", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hscratch", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hepc", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hcause", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hbadaddr", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hip", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mbase", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mbound", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mibase", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mibound", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mdbase", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mdbound", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mucounteren", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mscounteren", regnum++, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "mhcounteren", regnum++, 1, NULL, 64, "int");
- return regnum;
-}
diff --git a/gdb/features/riscv/64bit-csr.xml b/gdb/features/riscv/64bit-csr.xml
deleted file mode 100644
index ed28964..0000000
--- a/gdb/features/riscv/64bit-csr.xml
+++ /dev/null
@@ -1,186 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-<feature name="org.gnu.gdb.riscv.csr">
- <reg name="ustatus" bitsize="64"/>
- <reg name="uie" bitsize="64"/>
- <reg name="utvec" bitsize="64"/>
- <reg name="uscratch" bitsize="64"/>
- <reg name="uepc" bitsize="64"/>
- <reg name="ucause" bitsize="64"/>
- <reg name="utval" bitsize="64"/>
- <reg name="uip" bitsize="64"/>
- <reg name="fflags" bitsize="64"/>
- <reg name="frm" bitsize="64"/>
- <reg name="fcsr" bitsize="64"/>
- <reg name="cycle" bitsize="64"/>
- <reg name="time" bitsize="64"/>
- <reg name="instret" bitsize="64"/>
- <reg name="hpmcounter3" bitsize="64"/>
- <reg name="hpmcounter4" bitsize="64"/>
- <reg name="hpmcounter5" bitsize="64"/>
- <reg name="hpmcounter6" bitsize="64"/>
- <reg name="hpmcounter7" bitsize="64"/>
- <reg name="hpmcounter8" bitsize="64"/>
- <reg name="hpmcounter9" bitsize="64"/>
- <reg name="hpmcounter10" bitsize="64"/>
- <reg name="hpmcounter11" bitsize="64"/>
- <reg name="hpmcounter12" bitsize="64"/>
- <reg name="hpmcounter13" bitsize="64"/>
- <reg name="hpmcounter14" bitsize="64"/>
- <reg name="hpmcounter15" bitsize="64"/>
- <reg name="hpmcounter16" bitsize="64"/>
- <reg name="hpmcounter17" bitsize="64"/>
- <reg name="hpmcounter18" bitsize="64"/>
- <reg name="hpmcounter19" bitsize="64"/>
- <reg name="hpmcounter20" bitsize="64"/>
- <reg name="hpmcounter21" bitsize="64"/>
- <reg name="hpmcounter22" bitsize="64"/>
- <reg name="hpmcounter23" bitsize="64"/>
- <reg name="hpmcounter24" bitsize="64"/>
- <reg name="hpmcounter25" bitsize="64"/>
- <reg name="hpmcounter26" bitsize="64"/>
- <reg name="hpmcounter27" bitsize="64"/>
- <reg name="hpmcounter28" bitsize="64"/>
- <reg name="hpmcounter29" bitsize="64"/>
- <reg name="hpmcounter30" bitsize="64"/>
- <reg name="hpmcounter31" bitsize="64"/>
- <reg name="sstatus" bitsize="64"/>
- <reg name="sedeleg" bitsize="64"/>
- <reg name="sideleg" bitsize="64"/>
- <reg name="sie" bitsize="64"/>
- <reg name="stvec" bitsize="64"/>
- <reg name="scounteren" bitsize="64"/>
- <reg name="sscratch" bitsize="64"/>
- <reg name="sepc" bitsize="64"/>
- <reg name="scause" bitsize="64"/>
- <reg name="stval" bitsize="64"/>
- <reg name="sip" bitsize="64"/>
- <reg name="satp" bitsize="64"/>
- <reg name="mvendorid" bitsize="64"/>
- <reg name="marchid" bitsize="64"/>
- <reg name="mimpid" bitsize="64"/>
- <reg name="mhartid" bitsize="64"/>
- <reg name="mstatus" bitsize="64"/>
- <reg name="misa" bitsize="64"/>
- <reg name="medeleg" bitsize="64"/>
- <reg name="mideleg" bitsize="64"/>
- <reg name="mie" bitsize="64"/>
- <reg name="mtvec" bitsize="64"/>
- <reg name="mcounteren" bitsize="64"/>
- <reg name="mscratch" bitsize="64"/>
- <reg name="mepc" bitsize="64"/>
- <reg name="mcause" bitsize="64"/>
- <reg name="mtval" bitsize="64"/>
- <reg name="mip" bitsize="64"/>
- <reg name="pmpcfg0" bitsize="64"/>
- <reg name="pmpcfg2" bitsize="64"/>
- <reg name="pmpaddr0" bitsize="64"/>
- <reg name="pmpaddr1" bitsize="64"/>
- <reg name="pmpaddr2" bitsize="64"/>
- <reg name="pmpaddr3" bitsize="64"/>
- <reg name="pmpaddr4" bitsize="64"/>
- <reg name="pmpaddr5" bitsize="64"/>
- <reg name="pmpaddr6" bitsize="64"/>
- <reg name="pmpaddr7" bitsize="64"/>
- <reg name="pmpaddr8" bitsize="64"/>
- <reg name="pmpaddr9" bitsize="64"/>
- <reg name="pmpaddr10" bitsize="64"/>
- <reg name="pmpaddr11" bitsize="64"/>
- <reg name="pmpaddr12" bitsize="64"/>
- <reg name="pmpaddr13" bitsize="64"/>
- <reg name="pmpaddr14" bitsize="64"/>
- <reg name="pmpaddr15" bitsize="64"/>
- <reg name="mcycle" bitsize="64"/>
- <reg name="minstret" bitsize="64"/>
- <reg name="mhpmcounter3" bitsize="64"/>
- <reg name="mhpmcounter4" bitsize="64"/>
- <reg name="mhpmcounter5" bitsize="64"/>
- <reg name="mhpmcounter6" bitsize="64"/>
- <reg name="mhpmcounter7" bitsize="64"/>
- <reg name="mhpmcounter8" bitsize="64"/>
- <reg name="mhpmcounter9" bitsize="64"/>
- <reg name="mhpmcounter10" bitsize="64"/>
- <reg name="mhpmcounter11" bitsize="64"/>
- <reg name="mhpmcounter12" bitsize="64"/>
- <reg name="mhpmcounter13" bitsize="64"/>
- <reg name="mhpmcounter14" bitsize="64"/>
- <reg name="mhpmcounter15" bitsize="64"/>
- <reg name="mhpmcounter16" bitsize="64"/>
- <reg name="mhpmcounter17" bitsize="64"/>
- <reg name="mhpmcounter18" bitsize="64"/>
- <reg name="mhpmcounter19" bitsize="64"/>
- <reg name="mhpmcounter20" bitsize="64"/>
- <reg name="mhpmcounter21" bitsize="64"/>
- <reg name="mhpmcounter22" bitsize="64"/>
- <reg name="mhpmcounter23" bitsize="64"/>
- <reg name="mhpmcounter24" bitsize="64"/>
- <reg name="mhpmcounter25" bitsize="64"/>
- <reg name="mhpmcounter26" bitsize="64"/>
- <reg name="mhpmcounter27" bitsize="64"/>
- <reg name="mhpmcounter28" bitsize="64"/>
- <reg name="mhpmcounter29" bitsize="64"/>
- <reg name="mhpmcounter30" bitsize="64"/>
- <reg name="mhpmcounter31" bitsize="64"/>
- <reg name="mcountinhibit" bitsize="64"/>
- <reg name="mhpmevent3" bitsize="64"/>
- <reg name="mhpmevent4" bitsize="64"/>
- <reg name="mhpmevent5" bitsize="64"/>
- <reg name="mhpmevent6" bitsize="64"/>
- <reg name="mhpmevent7" bitsize="64"/>
- <reg name="mhpmevent8" bitsize="64"/>
- <reg name="mhpmevent9" bitsize="64"/>
- <reg name="mhpmevent10" bitsize="64"/>
- <reg name="mhpmevent11" bitsize="64"/>
- <reg name="mhpmevent12" bitsize="64"/>
- <reg name="mhpmevent13" bitsize="64"/>
- <reg name="mhpmevent14" bitsize="64"/>
- <reg name="mhpmevent15" bitsize="64"/>
- <reg name="mhpmevent16" bitsize="64"/>
- <reg name="mhpmevent17" bitsize="64"/>
- <reg name="mhpmevent18" bitsize="64"/>
- <reg name="mhpmevent19" bitsize="64"/>
- <reg name="mhpmevent20" bitsize="64"/>
- <reg name="mhpmevent21" bitsize="64"/>
- <reg name="mhpmevent22" bitsize="64"/>
- <reg name="mhpmevent23" bitsize="64"/>
- <reg name="mhpmevent24" bitsize="64"/>
- <reg name="mhpmevent25" bitsize="64"/>
- <reg name="mhpmevent26" bitsize="64"/>
- <reg name="mhpmevent27" bitsize="64"/>
- <reg name="mhpmevent28" bitsize="64"/>
- <reg name="mhpmevent29" bitsize="64"/>
- <reg name="mhpmevent30" bitsize="64"/>
- <reg name="mhpmevent31" bitsize="64"/>
- <reg name="tselect" bitsize="64"/>
- <reg name="tdata1" bitsize="64"/>
- <reg name="tdata2" bitsize="64"/>
- <reg name="tdata3" bitsize="64"/>
- <reg name="dcsr" bitsize="64"/>
- <reg name="dpc" bitsize="64"/>
- <reg name="dscratch0" bitsize="64"/>
- <reg name="dscratch1" bitsize="64"/>
- <reg name="hstatus" bitsize="64"/>
- <reg name="hedeleg" bitsize="64"/>
- <reg name="hideleg" bitsize="64"/>
- <reg name="hie" bitsize="64"/>
- <reg name="htvec" bitsize="64"/>
- <reg name="hscratch" bitsize="64"/>
- <reg name="hepc" bitsize="64"/>
- <reg name="hcause" bitsize="64"/>
- <reg name="hbadaddr" bitsize="64"/>
- <reg name="hip" bitsize="64"/>
- <reg name="mbase" bitsize="64"/>
- <reg name="mbound" bitsize="64"/>
- <reg name="mibase" bitsize="64"/>
- <reg name="mibound" bitsize="64"/>
- <reg name="mdbase" bitsize="64"/>
- <reg name="mdbound" bitsize="64"/>
- <reg name="mscounteren" bitsize="64"/>
- <reg name="mhcounteren" bitsize="64"/>
-</feature>
diff --git a/gdb/features/riscv/rebuild-csr-xml.sh b/gdb/features/riscv/rebuild-csr-xml.sh
deleted file mode 100755
index bff79b0..0000000
--- a/gdb/features/riscv/rebuild-csr-xml.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /bin/bash
-
-RISCV_OPC_FILE=$1
-RISCV_FEATURE_DIR=$2
-
-function gen_csr_xml ()
-{
- bitsize=$1
-
- cat <<EOF
-<?xml version="1.0"?>
-<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-<feature name="org.gnu.gdb.riscv.csr">
-EOF
-
-if [ "$bitsize" = "64" ]; then
- grep "^DECLARE_CSR(" ${RISCV_OPC_FILE} \
- | sed /CSR_CLASS_.*_32/d \
- | sed -e "s!DECLARE_CSR(\(.*\), .*, .*, .*, .*! <reg name=\"\1\" bitsize=\"$bitsize\"/>!"
-
- echo "</feature>"
-else
- grep "^DECLARE_CSR(" ${RISCV_OPC_FILE} \
- | sed -e "s!DECLARE_CSR(\(.*\), .*, .*, .*, .*! <reg name=\"\1\" bitsize=\"$bitsize\"/>!"
-
- echo "</feature>"
-fi
-}
-
-gen_csr_xml 32 > ${RISCV_FEATURE_DIR}/32bit-csr.xml
-gen_csr_xml 64 > ${RISCV_FEATURE_DIR}/64bit-csr.xml