MonitorDef registers parsing is one of the oldest APIs in QEMU,
thus predates gdbstub and XML register files. The latters are
maintained by the GDB/binutils project and are more up-to-date.
Getting the target register list from them allows to expose
all accessible registers to the HMP commands.

This series adds gdb_get_register() to monitor to use XML
generated registers, and remove the legacy MonitorDef entries
which became unreachable.

First we need to have the SPARC target better follow the
gdb-xml API.

Philippe Mathieu-Daudé (11):
  target/sparc: Introduce sparc_cpu_register_gdb_regs() stub
  target/sparc: Restore 'gdb-xml/sparc64-cp0.xml'
  target/sparc: Restore 'gdb-xml/sparc64-fpu.xml'
  target/sparc: Restore 'gdb-xml/sparc64-cpu.xml'
  target/sparc: Expose gdbstub registers to sparc32plus target
  target/sparc: Expose gdbstub registers to sparc32 targets
  monitor/hmp: Handle gdb-xml exposed registers via  gdb_get_register()
  target/sparc: Remove MonitorDef register entries available via gdbstub
  target/i386: Remove MonitorDef register entries available via gdbstub
  target/m68k: Remove MonitorDef register entries available via gdbstub
  target/ppc: Remove MonitorDef register entries available via gdbstub

 configs/targets/sparc-linux-user.mak          |   1 +
 configs/targets/sparc-softmmu.mak             |   1 +
 configs/targets/sparc32plus-linux-user.mak    |   1 +
 configs/targets/sparc64-linux-user.mak        |   2 +-
 configs/targets/sparc64-softmmu.mak           |   2 +-
 target/sparc/cpu.h                            |   1 +
 monitor/hmp.c                                 |  49 ++-
 target/i386/monitor.c                         |  35 ---
 target/m68k/monitor.c                         |  18 --
 target/ppc/ppc-qmp-cmds.c                     |   5 -
 target/sparc/cpu.c                            |   9 +-
 target/sparc/gdbstub.c                        | 295 +++++++++++-------
 target/sparc/monitor.c                        | 107 -------
 gdb-xml/sparc32-cp0.xml                       |  18 ++
 gdb-xml/sparc32-cpu.xml                       |  42 +++
 gdb-xml/sparc32-fpu.xml                       |  42 +++
 gdb-xml/sparc64-cp0.xml                       |  16 +
 gdb-xml/sparc64-cpu.xml                       |  42 +++
 gdb-xml/{sparc64-core.xml => sparc64-fpu.xml} |  44 +--
 19 files changed, 403 insertions(+), 327 deletions(-)
 create mode 100644 gdb-xml/sparc32-cp0.xml
 create mode 100644 gdb-xml/sparc32-cpu.xml
 create mode 100644 gdb-xml/sparc32-fpu.xml
 create mode 100644 gdb-xml/sparc64-cp0.xml
 create mode 100644 gdb-xml/sparc64-cpu.xml
 rename gdb-xml/{sparc64-core.xml => sparc64-fpu.xml} (59%)

-- 
2.52.0


Reply via email to