Note: Some less frequently needed CSR registers (e.g. hpm and pmp registers) are commented out on purpose. Instructions to add them back are described in remote_gdb.hh comments. This is to avoid spamming the remote GDB log when using `info reg all`. Changes: 1. Added GDB XML files to the ext/ directory (mostly from QEMU) 2. Modified RiscvGdbRegCache - struct r: added CSR registers - getRegs, setRegs: reading / setting CSR registers 3. Modified RemoteGDB - availableFeatures: indicate support for XML registers - getXferFeaturesRead: return XML blobs Change-Id: Ica03b63edb3f0c9b6a7789228b995891dbfb26b2 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/38955 Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
48 lines
2.0 KiB
XML
48 lines
2.0 KiB
XML
<?xml version="1.0"?>
|
|
<!-- Copyright (C) 2018-2019 Free Software Foundation, Inc.
|
|
Contributed by Huawei International
|
|
|
|
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. -->
|
|
|
|
<!-- Register numbers are hard-coded in order to maintain backward
|
|
compatibility with older versions of tools that didn't use xml
|
|
register descriptions. -->
|
|
|
|
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
|
|
<feature name="org.gnu.gdb.riscv.cpu">
|
|
<reg name="zero" bitsize="64" type="int" regnum="0"/>
|
|
<reg name="ra" bitsize="64" type="code_ptr"/>
|
|
<reg name="sp" bitsize="64" type="data_ptr"/>
|
|
<reg name="gp" bitsize="64" type="data_ptr"/>
|
|
<reg name="tp" bitsize="64" type="data_ptr"/>
|
|
<reg name="t0" bitsize="64" type="int"/>
|
|
<reg name="t1" bitsize="64" type="int"/>
|
|
<reg name="t2" bitsize="64" type="int"/>
|
|
<reg name="fp" bitsize="64" type="data_ptr"/>
|
|
<reg name="s1" bitsize="64" type="int"/>
|
|
<reg name="a0" bitsize="64" type="int"/>
|
|
<reg name="a1" bitsize="64" type="int"/>
|
|
<reg name="a2" bitsize="64" type="int"/>
|
|
<reg name="a3" bitsize="64" type="int"/>
|
|
<reg name="a4" bitsize="64" type="int"/>
|
|
<reg name="a5" bitsize="64" type="int"/>
|
|
<reg name="a6" bitsize="64" type="int"/>
|
|
<reg name="a7" bitsize="64" type="int"/>
|
|
<reg name="s2" bitsize="64" type="int"/>
|
|
<reg name="s3" bitsize="64" type="int"/>
|
|
<reg name="s4" bitsize="64" type="int"/>
|
|
<reg name="s5" bitsize="64" type="int"/>
|
|
<reg name="s6" bitsize="64" type="int"/>
|
|
<reg name="s7" bitsize="64" type="int"/>
|
|
<reg name="s8" bitsize="64" type="int"/>
|
|
<reg name="s9" bitsize="64" type="int"/>
|
|
<reg name="s10" bitsize="64" type="int"/>
|
|
<reg name="s11" bitsize="64" type="int"/>
|
|
<reg name="t3" bitsize="64" type="int"/>
|
|
<reg name="t4" bitsize="64" type="int"/>
|
|
<reg name="t5" bitsize="64" type="int"/>
|
|
<reg name="t6" bitsize="64" type="int"/>
|
|
<reg name="pc" bitsize="64" type="code_ptr"/>
|
|
</feature> |