mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-09-06 18:05:37 +00:00
![Andrew Burgess](/assets/img/avatar_default.png)
The fixed register numbering in the various GDB feature files for RISC-V only exists because these files were originally copied from the GDB source tree. However, the fixed numbering only exists in the GDB source tree so that GDB, when it connects to a target that doesn't provide a target description, will use a specific numbering scheme. That numbering scheme is designed to be compatible with the first versions of QEMU (for RISC-V), that didn't send a target description, and relied on a fixed numbering scheme. Because of the way that QEMU manages its target descriptions, recording the number of registers in each feature, and just relying on GDB's numbering starting from 0, then I propose that we remove all the fixed numbering from the RISC-V feature xml files, and just rely on the standard numbering scheme. Plenty of other targets manage their xml files this way, e.g. ARM, AArch64, Loongarch, m68k, rx, and s390. Signed-off-by: Andrew Burgess <aburgess@redhat.com> Acked-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com> Message-Id: <6069395f90e6fc24dac92197be815fedf42f5974.1661934573.git.aburgess@redhat.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
44 lines
1.8 KiB
XML
44 lines
1.8 KiB
XML
<?xml version="1.0"?>
|
|
<!-- Copyright (C) 2018-2019 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.cpu">
|
|
<reg name="zero" bitsize="64" type="int"/>
|
|
<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>
|