qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

RISC-V: Add 64-bit gdb xml files.

Signed-off-by: Jim Wilson <jimw@sifive.com>
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>

authored by

Jim Wilson and committed by
Palmer Dabbelt
c670970d 1a987a1d

+357 -3
+1
configure
··· 7521 7521 TARGET_BASE_ARCH=riscv 7522 7522 TARGET_ABI_DIR=riscv 7523 7523 mttcg=yes 7524 + gdb_xml_files="riscv-64bit-cpu.xml riscv-64bit-fpu.xml riscv-64bit-csr.xml" 7524 7525 target_compiler=$cross_cc_riscv64 7525 7526 ;; 7526 7527 sh4|sh4eb)
+3 -3
gdb-xml/riscv-32bit-fpu.xml
··· 44 44 <reg name="ft10" bitsize="32" type="ieee_single"/> 45 45 <reg name="ft11" bitsize="32" type="ieee_single"/> 46 46 47 - <reg name="fflags" bitsize="32" type="int"/> 48 - <reg name="frm" bitsize="32" type="int"/> 49 - <reg name="fcsr" bitsize="32" type="int"/> 47 + <reg name="fflags" bitsize="32" type="int" regnum="66"/> 48 + <reg name="frm" bitsize="32" type="int" regnum="67"/> 49 + <reg name="fcsr" bitsize="32" type="int" regnum="68"/> 50 50 </feature>
+47
gdb-xml/riscv-64bit-cpu.xml
··· 1 + <?xml version="1.0"?> 2 + <!-- Copyright (C) 2018-2019 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 + <!-- Register numbers are hard-coded in order to maintain backward 9 + compatibility with older versions of tools that didn't use xml 10 + register descriptions. --> 11 + 12 + <!DOCTYPE feature SYSTEM "gdb-target.dtd"> 13 + <feature name="org.gnu.gdb.riscv.cpu"> 14 + <reg name="zero" bitsize="64" type="int" regnum="0"/> 15 + <reg name="ra" bitsize="64" type="code_ptr"/> 16 + <reg name="sp" bitsize="64" type="data_ptr"/> 17 + <reg name="gp" bitsize="64" type="data_ptr"/> 18 + <reg name="tp" bitsize="64" type="data_ptr"/> 19 + <reg name="t0" bitsize="64" type="int"/> 20 + <reg name="t1" bitsize="64" type="int"/> 21 + <reg name="t2" bitsize="64" type="int"/> 22 + <reg name="fp" bitsize="64" type="data_ptr"/> 23 + <reg name="s1" bitsize="64" type="int"/> 24 + <reg name="a0" bitsize="64" type="int"/> 25 + <reg name="a1" bitsize="64" type="int"/> 26 + <reg name="a2" bitsize="64" type="int"/> 27 + <reg name="a3" bitsize="64" type="int"/> 28 + <reg name="a4" bitsize="64" type="int"/> 29 + <reg name="a5" bitsize="64" type="int"/> 30 + <reg name="a6" bitsize="64" type="int"/> 31 + <reg name="a7" bitsize="64" type="int"/> 32 + <reg name="s2" bitsize="64" type="int"/> 33 + <reg name="s3" bitsize="64" type="int"/> 34 + <reg name="s4" bitsize="64" type="int"/> 35 + <reg name="s5" bitsize="64" type="int"/> 36 + <reg name="s6" bitsize="64" type="int"/> 37 + <reg name="s7" bitsize="64" type="int"/> 38 + <reg name="s8" bitsize="64" type="int"/> 39 + <reg name="s9" bitsize="64" type="int"/> 40 + <reg name="s10" bitsize="64" type="int"/> 41 + <reg name="s11" bitsize="64" type="int"/> 42 + <reg name="t3" bitsize="64" type="int"/> 43 + <reg name="t4" bitsize="64" type="int"/> 44 + <reg name="t5" bitsize="64" type="int"/> 45 + <reg name="t6" bitsize="64" type="int"/> 46 + <reg name="pc" bitsize="64" type="code_ptr"/> 47 + </feature>
+250
gdb-xml/riscv-64bit-csr.xml
··· 1 + <?xml version="1.0"?> 2 + <!-- Copyright (C) 2018-2019 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="64"/> 11 + <reg name="uie" bitsize="64"/> 12 + <reg name="utvec" bitsize="64"/> 13 + <reg name="uscratch" bitsize="64"/> 14 + <reg name="uepc" bitsize="64"/> 15 + <reg name="ucause" bitsize="64"/> 16 + <reg name="utval" bitsize="64"/> 17 + <reg name="uip" bitsize="64"/> 18 + <reg name="fflags" bitsize="64"/> 19 + <reg name="frm" bitsize="64"/> 20 + <reg name="fcsr" bitsize="64"/> 21 + <reg name="cycle" bitsize="64"/> 22 + <reg name="time" bitsize="64"/> 23 + <reg name="instret" bitsize="64"/> 24 + <reg name="hpmcounter3" bitsize="64"/> 25 + <reg name="hpmcounter4" bitsize="64"/> 26 + <reg name="hpmcounter5" bitsize="64"/> 27 + <reg name="hpmcounter6" bitsize="64"/> 28 + <reg name="hpmcounter7" bitsize="64"/> 29 + <reg name="hpmcounter8" bitsize="64"/> 30 + <reg name="hpmcounter9" bitsize="64"/> 31 + <reg name="hpmcounter10" bitsize="64"/> 32 + <reg name="hpmcounter11" bitsize="64"/> 33 + <reg name="hpmcounter12" bitsize="64"/> 34 + <reg name="hpmcounter13" bitsize="64"/> 35 + <reg name="hpmcounter14" bitsize="64"/> 36 + <reg name="hpmcounter15" bitsize="64"/> 37 + <reg name="hpmcounter16" bitsize="64"/> 38 + <reg name="hpmcounter17" bitsize="64"/> 39 + <reg name="hpmcounter18" bitsize="64"/> 40 + <reg name="hpmcounter19" bitsize="64"/> 41 + <reg name="hpmcounter20" bitsize="64"/> 42 + <reg name="hpmcounter21" bitsize="64"/> 43 + <reg name="hpmcounter22" bitsize="64"/> 44 + <reg name="hpmcounter23" bitsize="64"/> 45 + <reg name="hpmcounter24" bitsize="64"/> 46 + <reg name="hpmcounter25" bitsize="64"/> 47 + <reg name="hpmcounter26" bitsize="64"/> 48 + <reg name="hpmcounter27" bitsize="64"/> 49 + <reg name="hpmcounter28" bitsize="64"/> 50 + <reg name="hpmcounter29" bitsize="64"/> 51 + <reg name="hpmcounter30" bitsize="64"/> 52 + <reg name="hpmcounter31" bitsize="64"/> 53 + <reg name="cycleh" bitsize="64"/> 54 + <reg name="timeh" bitsize="64"/> 55 + <reg name="instreth" bitsize="64"/> 56 + <reg name="hpmcounter3h" bitsize="64"/> 57 + <reg name="hpmcounter4h" bitsize="64"/> 58 + <reg name="hpmcounter5h" bitsize="64"/> 59 + <reg name="hpmcounter6h" bitsize="64"/> 60 + <reg name="hpmcounter7h" bitsize="64"/> 61 + <reg name="hpmcounter8h" bitsize="64"/> 62 + <reg name="hpmcounter9h" bitsize="64"/> 63 + <reg name="hpmcounter10h" bitsize="64"/> 64 + <reg name="hpmcounter11h" bitsize="64"/> 65 + <reg name="hpmcounter12h" bitsize="64"/> 66 + <reg name="hpmcounter13h" bitsize="64"/> 67 + <reg name="hpmcounter14h" bitsize="64"/> 68 + <reg name="hpmcounter15h" bitsize="64"/> 69 + <reg name="hpmcounter16h" bitsize="64"/> 70 + <reg name="hpmcounter17h" bitsize="64"/> 71 + <reg name="hpmcounter18h" bitsize="64"/> 72 + <reg name="hpmcounter19h" bitsize="64"/> 73 + <reg name="hpmcounter20h" bitsize="64"/> 74 + <reg name="hpmcounter21h" bitsize="64"/> 75 + <reg name="hpmcounter22h" bitsize="64"/> 76 + <reg name="hpmcounter23h" bitsize="64"/> 77 + <reg name="hpmcounter24h" bitsize="64"/> 78 + <reg name="hpmcounter25h" bitsize="64"/> 79 + <reg name="hpmcounter26h" bitsize="64"/> 80 + <reg name="hpmcounter27h" bitsize="64"/> 81 + <reg name="hpmcounter28h" bitsize="64"/> 82 + <reg name="hpmcounter29h" bitsize="64"/> 83 + <reg name="hpmcounter30h" bitsize="64"/> 84 + <reg name="hpmcounter31h" bitsize="64"/> 85 + <reg name="sstatus" bitsize="64"/> 86 + <reg name="sedeleg" bitsize="64"/> 87 + <reg name="sideleg" bitsize="64"/> 88 + <reg name="sie" bitsize="64"/> 89 + <reg name="stvec" bitsize="64"/> 90 + <reg name="scounteren" bitsize="64"/> 91 + <reg name="sscratch" bitsize="64"/> 92 + <reg name="sepc" bitsize="64"/> 93 + <reg name="scause" bitsize="64"/> 94 + <reg name="stval" bitsize="64"/> 95 + <reg name="sip" bitsize="64"/> 96 + <reg name="satp" bitsize="64"/> 97 + <reg name="mvendorid" bitsize="64"/> 98 + <reg name="marchid" bitsize="64"/> 99 + <reg name="mimpid" bitsize="64"/> 100 + <reg name="mhartid" bitsize="64"/> 101 + <reg name="mstatus" bitsize="64"/> 102 + <reg name="misa" bitsize="64"/> 103 + <reg name="medeleg" bitsize="64"/> 104 + <reg name="mideleg" bitsize="64"/> 105 + <reg name="mie" bitsize="64"/> 106 + <reg name="mtvec" bitsize="64"/> 107 + <reg name="mcounteren" bitsize="64"/> 108 + <reg name="mscratch" bitsize="64"/> 109 + <reg name="mepc" bitsize="64"/> 110 + <reg name="mcause" bitsize="64"/> 111 + <reg name="mtval" bitsize="64"/> 112 + <reg name="mip" bitsize="64"/> 113 + <reg name="pmpcfg0" bitsize="64"/> 114 + <reg name="pmpcfg1" bitsize="64"/> 115 + <reg name="pmpcfg2" bitsize="64"/> 116 + <reg name="pmpcfg3" bitsize="64"/> 117 + <reg name="pmpaddr0" bitsize="64"/> 118 + <reg name="pmpaddr1" bitsize="64"/> 119 + <reg name="pmpaddr2" bitsize="64"/> 120 + <reg name="pmpaddr3" bitsize="64"/> 121 + <reg name="pmpaddr4" bitsize="64"/> 122 + <reg name="pmpaddr5" bitsize="64"/> 123 + <reg name="pmpaddr6" bitsize="64"/> 124 + <reg name="pmpaddr7" bitsize="64"/> 125 + <reg name="pmpaddr8" bitsize="64"/> 126 + <reg name="pmpaddr9" bitsize="64"/> 127 + <reg name="pmpaddr10" bitsize="64"/> 128 + <reg name="pmpaddr11" bitsize="64"/> 129 + <reg name="pmpaddr12" bitsize="64"/> 130 + <reg name="pmpaddr13" bitsize="64"/> 131 + <reg name="pmpaddr14" bitsize="64"/> 132 + <reg name="pmpaddr15" bitsize="64"/> 133 + <reg name="mcycle" bitsize="64"/> 134 + <reg name="minstret" bitsize="64"/> 135 + <reg name="mhpmcounter3" bitsize="64"/> 136 + <reg name="mhpmcounter4" bitsize="64"/> 137 + <reg name="mhpmcounter5" bitsize="64"/> 138 + <reg name="mhpmcounter6" bitsize="64"/> 139 + <reg name="mhpmcounter7" bitsize="64"/> 140 + <reg name="mhpmcounter8" bitsize="64"/> 141 + <reg name="mhpmcounter9" bitsize="64"/> 142 + <reg name="mhpmcounter10" bitsize="64"/> 143 + <reg name="mhpmcounter11" bitsize="64"/> 144 + <reg name="mhpmcounter12" bitsize="64"/> 145 + <reg name="mhpmcounter13" bitsize="64"/> 146 + <reg name="mhpmcounter14" bitsize="64"/> 147 + <reg name="mhpmcounter15" bitsize="64"/> 148 + <reg name="mhpmcounter16" bitsize="64"/> 149 + <reg name="mhpmcounter17" bitsize="64"/> 150 + <reg name="mhpmcounter18" bitsize="64"/> 151 + <reg name="mhpmcounter19" bitsize="64"/> 152 + <reg name="mhpmcounter20" bitsize="64"/> 153 + <reg name="mhpmcounter21" bitsize="64"/> 154 + <reg name="mhpmcounter22" bitsize="64"/> 155 + <reg name="mhpmcounter23" bitsize="64"/> 156 + <reg name="mhpmcounter24" bitsize="64"/> 157 + <reg name="mhpmcounter25" bitsize="64"/> 158 + <reg name="mhpmcounter26" bitsize="64"/> 159 + <reg name="mhpmcounter27" bitsize="64"/> 160 + <reg name="mhpmcounter28" bitsize="64"/> 161 + <reg name="mhpmcounter29" bitsize="64"/> 162 + <reg name="mhpmcounter30" bitsize="64"/> 163 + <reg name="mhpmcounter31" bitsize="64"/> 164 + <reg name="mcycleh" bitsize="64"/> 165 + <reg name="minstreth" bitsize="64"/> 166 + <reg name="mhpmcounter3h" bitsize="64"/> 167 + <reg name="mhpmcounter4h" bitsize="64"/> 168 + <reg name="mhpmcounter5h" bitsize="64"/> 169 + <reg name="mhpmcounter6h" bitsize="64"/> 170 + <reg name="mhpmcounter7h" bitsize="64"/> 171 + <reg name="mhpmcounter8h" bitsize="64"/> 172 + <reg name="mhpmcounter9h" bitsize="64"/> 173 + <reg name="mhpmcounter10h" bitsize="64"/> 174 + <reg name="mhpmcounter11h" bitsize="64"/> 175 + <reg name="mhpmcounter12h" bitsize="64"/> 176 + <reg name="mhpmcounter13h" bitsize="64"/> 177 + <reg name="mhpmcounter14h" bitsize="64"/> 178 + <reg name="mhpmcounter15h" bitsize="64"/> 179 + <reg name="mhpmcounter16h" bitsize="64"/> 180 + <reg name="mhpmcounter17h" bitsize="64"/> 181 + <reg name="mhpmcounter18h" bitsize="64"/> 182 + <reg name="mhpmcounter19h" bitsize="64"/> 183 + <reg name="mhpmcounter20h" bitsize="64"/> 184 + <reg name="mhpmcounter21h" bitsize="64"/> 185 + <reg name="mhpmcounter22h" bitsize="64"/> 186 + <reg name="mhpmcounter23h" bitsize="64"/> 187 + <reg name="mhpmcounter24h" bitsize="64"/> 188 + <reg name="mhpmcounter25h" bitsize="64"/> 189 + <reg name="mhpmcounter26h" bitsize="64"/> 190 + <reg name="mhpmcounter27h" bitsize="64"/> 191 + <reg name="mhpmcounter28h" bitsize="64"/> 192 + <reg name="mhpmcounter29h" bitsize="64"/> 193 + <reg name="mhpmcounter30h" bitsize="64"/> 194 + <reg name="mhpmcounter31h" bitsize="64"/> 195 + <reg name="mhpmevent3" bitsize="64"/> 196 + <reg name="mhpmevent4" bitsize="64"/> 197 + <reg name="mhpmevent5" bitsize="64"/> 198 + <reg name="mhpmevent6" bitsize="64"/> 199 + <reg name="mhpmevent7" bitsize="64"/> 200 + <reg name="mhpmevent8" bitsize="64"/> 201 + <reg name="mhpmevent9" bitsize="64"/> 202 + <reg name="mhpmevent10" bitsize="64"/> 203 + <reg name="mhpmevent11" bitsize="64"/> 204 + <reg name="mhpmevent12" bitsize="64"/> 205 + <reg name="mhpmevent13" bitsize="64"/> 206 + <reg name="mhpmevent14" bitsize="64"/> 207 + <reg name="mhpmevent15" bitsize="64"/> 208 + <reg name="mhpmevent16" bitsize="64"/> 209 + <reg name="mhpmevent17" bitsize="64"/> 210 + <reg name="mhpmevent18" bitsize="64"/> 211 + <reg name="mhpmevent19" bitsize="64"/> 212 + <reg name="mhpmevent20" bitsize="64"/> 213 + <reg name="mhpmevent21" bitsize="64"/> 214 + <reg name="mhpmevent22" bitsize="64"/> 215 + <reg name="mhpmevent23" bitsize="64"/> 216 + <reg name="mhpmevent24" bitsize="64"/> 217 + <reg name="mhpmevent25" bitsize="64"/> 218 + <reg name="mhpmevent26" bitsize="64"/> 219 + <reg name="mhpmevent27" bitsize="64"/> 220 + <reg name="mhpmevent28" bitsize="64"/> 221 + <reg name="mhpmevent29" bitsize="64"/> 222 + <reg name="mhpmevent30" bitsize="64"/> 223 + <reg name="mhpmevent31" bitsize="64"/> 224 + <reg name="tselect" bitsize="64"/> 225 + <reg name="tdata1" bitsize="64"/> 226 + <reg name="tdata2" bitsize="64"/> 227 + <reg name="tdata3" bitsize="64"/> 228 + <reg name="dcsr" bitsize="64"/> 229 + <reg name="dpc" bitsize="64"/> 230 + <reg name="dscratch" bitsize="64"/> 231 + <reg name="hstatus" bitsize="64"/> 232 + <reg name="hedeleg" bitsize="64"/> 233 + <reg name="hideleg" bitsize="64"/> 234 + <reg name="hie" bitsize="64"/> 235 + <reg name="htvec" bitsize="64"/> 236 + <reg name="hscratch" bitsize="64"/> 237 + <reg name="hepc" bitsize="64"/> 238 + <reg name="hcause" bitsize="64"/> 239 + <reg name="hbadaddr" bitsize="64"/> 240 + <reg name="hip" bitsize="64"/> 241 + <reg name="mbase" bitsize="64"/> 242 + <reg name="mbound" bitsize="64"/> 243 + <reg name="mibase" bitsize="64"/> 244 + <reg name="mibound" bitsize="64"/> 245 + <reg name="mdbase" bitsize="64"/> 246 + <reg name="mdbound" bitsize="64"/> 247 + <reg name="mucounteren" bitsize="64"/> 248 + <reg name="mscounteren" bitsize="64"/> 249 + <reg name="mhcounteren" bitsize="64"/> 250 + </feature>
+56
gdb-xml/riscv-64bit-fpu.xml
··· 1 + <?xml version="1.0"?> 2 + <!-- Copyright (C) 2018-2019 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 + <!-- Register numbers are hard-coded in order to maintain backward 9 + compatibility with older versions of tools that didn't use xml 10 + register descriptions. --> 11 + 12 + <!DOCTYPE feature SYSTEM "gdb-target.dtd"> 13 + <feature name="org.gnu.gdb.riscv.fpu"> 14 + 15 + <union id="riscv_double"> 16 + <field name="float" type="ieee_single"/> 17 + <field name="double" type="ieee_double"/> 18 + </union> 19 + 20 + <reg name="ft0" bitsize="64" type="riscv_double" regnum="33"/> 21 + <reg name="ft1" bitsize="64" type="riscv_double"/> 22 + <reg name="ft2" bitsize="64" type="riscv_double"/> 23 + <reg name="ft3" bitsize="64" type="riscv_double"/> 24 + <reg name="ft4" bitsize="64" type="riscv_double"/> 25 + <reg name="ft5" bitsize="64" type="riscv_double"/> 26 + <reg name="ft6" bitsize="64" type="riscv_double"/> 27 + <reg name="ft7" bitsize="64" type="riscv_double"/> 28 + <reg name="fs0" bitsize="64" type="riscv_double"/> 29 + <reg name="fs1" bitsize="64" type="riscv_double"/> 30 + <reg name="fa0" bitsize="64" type="riscv_double"/> 31 + <reg name="fa1" bitsize="64" type="riscv_double"/> 32 + <reg name="fa2" bitsize="64" type="riscv_double"/> 33 + <reg name="fa3" bitsize="64" type="riscv_double"/> 34 + <reg name="fa4" bitsize="64" type="riscv_double"/> 35 + <reg name="fa5" bitsize="64" type="riscv_double"/> 36 + <reg name="fa6" bitsize="64" type="riscv_double"/> 37 + <reg name="fa7" bitsize="64" type="riscv_double"/> 38 + <reg name="fs2" bitsize="64" type="riscv_double"/> 39 + <reg name="fs3" bitsize="64" type="riscv_double"/> 40 + <reg name="fs4" bitsize="64" type="riscv_double"/> 41 + <reg name="fs5" bitsize="64" type="riscv_double"/> 42 + <reg name="fs6" bitsize="64" type="riscv_double"/> 43 + <reg name="fs7" bitsize="64" type="riscv_double"/> 44 + <reg name="fs8" bitsize="64" type="riscv_double"/> 45 + <reg name="fs9" bitsize="64" type="riscv_double"/> 46 + <reg name="fs10" bitsize="64" type="riscv_double"/> 47 + <reg name="fs11" bitsize="64" type="riscv_double"/> 48 + <reg name="ft8" bitsize="64" type="riscv_double"/> 49 + <reg name="ft9" bitsize="64" type="riscv_double"/> 50 + <reg name="ft10" bitsize="64" type="riscv_double"/> 51 + <reg name="ft11" bitsize="64" type="riscv_double"/> 52 + 53 + <reg name="fflags" bitsize="32" type="int" regnum="66"/> 54 + <reg name="frm" bitsize="32" type="int" regnum="67"/> 55 + <reg name="fcsr" bitsize="32" type="int" regnum="68"/> 56 + </feature>