qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH  v2 00/14] gdbstub refactor and SVE support
@ 2019-11-30  8:45 Alex Bennée
  2019-11-30  8:45 ` [PATCH v2 01/14] gdbstub: make GDBState static and have common init function Alex Bennée
                   ` (14 more replies)
  0 siblings, 15 replies; 38+ messages in thread
From: Alex Bennée @ 2019-11-30  8:45 UTC (permalink / raw)
  To: qemu-devel
  Cc: damien.hedde, luis.machado, Alex Bennée, richard.henderson,
	alan.hayward

Hi,

So this is the first fully working version of the SVE gdbstub
implementation. As before the first set of patches are mostly
re-factoring of the gdbstub register interface. I include a new patch
to default the SVE size to a more reasonable number for linux-user to
mirror what the Linux kernel actually does. Finally the XML that QEMU
generates is closer to that of GDB in terms of the nesting of the
union and keeping all registers intact. If you enable the maximum VQ
you still end up with pages of text if you examine the vector
registers.

Finally I've added a bit more test harness for running gdbstub tests
and included a basic smoke test for SVE itself. It's still not plumbed
into the main test harness yet though as there are complications
caused by the available version of gdb. However I hope I can hide
these in the run-test.py script later and just skip tests that we know
won't work.

Alex Bennée (14):
  gdbstub: make GDBState static and have common init function
  gdbstub: stop passing GDBState * around and use global
  gdbstub: move str_buf to GDBState and use GString
  gdbstub: move mem_buf to GDBState and use GByteArray
  gdbstub: add helper for 128 bit registers
  target/arm: use gdb_get_reg helpers
  target/m68k: use gdb_get_reg helpers
  gdbstub: extend GByteArray to read register helpers
  target/arm: prepare for multiple dynamic XMLs
  target/arm: explicitly encode regnum in our XML
  target/arm: default SVE length to 64 bytes for linux-user
  target/arm: generate xml description of our SVE registers
  tests/guest-debug: add a simple test runner
  tests/tcg: add a gdbstub testcase for SVE registers

 include/exec/gdbstub.h                |  49 +-
 include/hw/core/cpu.h                 |   2 +-
 target/alpha/cpu.h                    |   2 +-
 target/arm/cpu.h                      |  34 +-
 target/cris/cpu.h                     |   4 +-
 target/hppa/cpu.h                     |   2 +-
 target/i386/cpu.h                     |   2 +-
 target/lm32/cpu.h                     |   2 +-
 target/m68k/cpu.h                     |   2 +-
 target/microblaze/cpu.h               |   2 +-
 target/mips/internal.h                |   2 +-
 target/openrisc/cpu.h                 |   2 +-
 target/ppc/cpu.h                      |   4 +-
 target/riscv/cpu.h                    |   2 +-
 target/s390x/internal.h               |   2 +-
 target/sh4/cpu.h                      |   2 +-
 target/sparc/cpu.h                    |   2 +-
 target/xtensa/cpu.h                   |   2 +-
 gdbstub.c                             | 892 +++++++++++++-------------
 hw/core/cpu.c                         |   2 +-
 target/alpha/gdbstub.c                |   2 +-
 target/arm/cpu64.c                    |   3 +
 target/arm/gdbstub.c                  | 169 ++++-
 target/arm/gdbstub64.c                |   2 +-
 target/arm/helper.c                   | 151 ++++-
 target/cris/gdbstub.c                 |   4 +-
 target/hppa/gdbstub.c                 |   2 +-
 target/i386/gdbstub.c                 |   2 +-
 target/lm32/gdbstub.c                 |   2 +-
 target/m68k/gdbstub.c                 |   2 +-
 target/m68k/helper.c                  |  33 +-
 target/microblaze/gdbstub.c           |   2 +-
 target/mips/gdbstub.c                 |   2 +-
 target/nios2/cpu.c                    |   2 +-
 target/openrisc/gdbstub.c             |   2 +-
 target/ppc/gdbstub.c                  |  48 +-
 target/ppc/translate_init.inc.c       |  54 +-
 target/riscv/gdbstub.c                |  18 +-
 target/s390x/gdbstub.c                |  30 +-
 target/sh4/gdbstub.c                  |   2 +-
 target/sparc/gdbstub.c                |   2 +-
 target/xtensa/gdbstub.c               |   2 +-
 tests/.gitignore                      |   1 +
 tests/guest-debug/run-test.py         |  57 ++
 tests/tcg/aarch64/gdbstub/test-sve.py |  75 +++
 45 files changed, 1038 insertions(+), 644 deletions(-)
 create mode 100755 tests/guest-debug/run-test.py
 create mode 100644 tests/tcg/aarch64/gdbstub/test-sve.py

-- 
2.20.1



^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2019-12-06 16:14 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-30  8:45 [PATCH v2 00/14] gdbstub refactor and SVE support Alex Bennée
2019-11-30  8:45 ` [PATCH v2 01/14] gdbstub: make GDBState static and have common init function Alex Bennée
2019-12-02  2:14   ` Richard Henderson
2019-12-02 14:35   ` Damien Hedde
2019-11-30  8:45 ` [PATCH v2 02/14] gdbstub: stop passing GDBState * around and use global Alex Bennée
2019-12-02  2:16   ` Richard Henderson
2019-12-02 15:25   ` Damien Hedde
2019-11-30  8:45 ` [PATCH v2 03/14] gdbstub: move str_buf to GDBState and use GString Alex Bennée
2019-12-02 15:26   ` Damien Hedde
2019-12-03 12:49   ` Damien Hedde
2019-11-30  8:45 ` [PATCH v2 04/14] gdbstub: move mem_buf to GDBState and use GByteArray Alex Bennée
2019-12-03 11:11   ` Damien Hedde
2019-11-30  8:45 ` [PATCH v2 05/14] gdbstub: add helper for 128 bit registers Alex Bennée
2019-12-01 20:02   ` Philippe Mathieu-Daudé
2019-12-02  2:19   ` Richard Henderson
2019-11-30  8:45 ` [PATCH v2 06/14] target/arm: use gdb_get_reg helpers Alex Bennée
2019-12-01 20:05   ` Philippe Mathieu-Daudé
2019-12-02 10:05     ` Alan Hayward
2019-12-05 17:58       ` Alex Bennée
2019-12-02  2:20   ` Richard Henderson
2019-11-30  8:45 ` [PATCH v2 07/14] target/m68k: " Alex Bennée
2019-11-30 10:58   ` Laurent Vivier
2019-11-30  8:45 ` [PATCH v2 08/14] gdbstub: extend GByteArray to read register helpers Alex Bennée
2019-12-02  2:24   ` Richard Henderson
2019-11-30  8:45 ` [PATCH v2 09/14] target/arm: prepare for multiple dynamic XMLs Alex Bennée
2019-12-02 18:26   ` Richard Henderson
2019-11-30  8:45 ` [PATCH v2 10/14] target/arm: explicitly encode regnum in our XML Alex Bennée
2019-11-30  8:45 ` [PATCH v2 11/14] target/arm: default SVE length to 64 bytes for linux-user Alex Bennée
2019-12-02  2:41   ` Richard Henderson
2019-12-05 17:31     ` Alex Bennée
2019-12-05 19:36       ` Richard Henderson
2019-12-06 14:52         ` Alex Bennée
2019-11-30  8:46 ` [PATCH v2 12/14] target/arm: generate xml description of our SVE registers Alex Bennée
2019-12-02 18:44   ` Richard Henderson
2019-11-30  8:46 ` [PATCH v2 13/14] tests/guest-debug: add a simple test runner Alex Bennée
2019-12-02 18:50   ` Richard Henderson
2019-11-30  8:46 ` [PATCH v2 14/14] tests/tcg: add a gdbstub testcase for SVE registers Alex Bennée
2019-11-30  9:33 ` [PATCH v2 00/14] gdbstub refactor and SVE support no-reply

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).