RISC-V: Support the ISA-dependent CSR checking.
[deliverable/binutils-gdb.git] / gdb / features / riscv / rebuild-csr-xml.sh
1 #! /bin/bash
2
3 RISCV_OPC_FILE=$1
4 RISCV_FEATURE_DIR=$2
5
6 function gen_csr_xml ()
7 {
8 bitsize=$1
9
10 cat <<EOF
11 <?xml version="1.0"?>
12 <!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
13
14 Copying and distribution of this file, with or without modification,
15 are permitted in any medium without royalty provided the copyright
16 notice and this notice are preserved. -->
17
18 <!DOCTYPE feature SYSTEM "gdb-target.dtd">
19 <feature name="org.gnu.gdb.riscv.csr">
20 EOF
21
22 if [ "$bitsize" = "64" ]; then
23 grep "^DECLARE_CSR(" ${RISCV_OPC_FILE} \
24 | sed /CSR_CLASS_.*_32/d \
25 | sed -e "s!DECLARE_CSR(\(.*\), .*, .*! <reg name=\"\1\" bitsize=\"$bitsize\"/>!"
26
27 echo "</feature>"
28 else
29 grep "^DECLARE_CSR(" ${RISCV_OPC_FILE} \
30 | sed -e "s!DECLARE_CSR(\(.*\), .*, .*! <reg name=\"\1\" bitsize=\"$bitsize\"/>!"
31
32 echo "</feature>"
33 fi
34 }
35
36 gen_csr_xml 32 > ${RISCV_FEATURE_DIR}/32bit-csr.xml
37 gen_csr_xml 64 > ${RISCV_FEATURE_DIR}/64bit-csr.xml
This page took 0.054063 seconds and 4 git commands to generate.