[PATCH v4 00/21] gdbstub refactor and SVE support (+check-tcg tweaks)

Alex Bennée posted 21 patches 4 years, 4 months ago
Test asan failed
Test checkpatch failed
Test FreeBSD failed
Test docker-mingw@fedora failed
Test docker-clang@ubuntu failed
Test docker-quick@centos7 failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20191220120438.16114-1-alex.bennee@linaro.org
There is a newer version of this series
include/exec/gdbstub.h                      |  49 +-
include/hw/core/cpu.h                       |   2 +-
target/alpha/cpu.h                          |   2 +-
target/arm/cpu.h                            |  31 +-
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                                   | 936 ++++++++++----------
hw/core/cpu.c                               |   2 +-
target/alpha/gdbstub.c                      |   2 +-
target/arm/cpu.c                            |   4 +-
target/arm/gdbstub.c                        | 168 +++-
target/arm/gdbstub64.c                      |   2 +-
target/arm/helper.c                         | 174 +++-
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/tcg/aarch64/sve-ioctls.c              |  77 ++
tests/tcg/aarch64/sysregs.c                 | 172 ++++
tests/.gitignore                            |   1 +
tests/guest-debug/run-test.py               |  57 ++
tests/tcg/aarch64/Makefile.target           |  10 +
tests/tcg/aarch64/gdbstub/test-sve-ioctl.py |  71 ++
tests/tcg/aarch64/gdbstub/test-sve.py       |  75 ++
tests/tcg/configure.sh                      |  14 +
50 files changed, 1410 insertions(+), 680 deletions(-)
create mode 100644 tests/tcg/aarch64/sve-ioctls.c
create mode 100644 tests/tcg/aarch64/sysregs.c
create mode 100755 tests/guest-debug/run-test.py
create mode 100644 tests/tcg/aarch64/gdbstub/test-sve-ioctl.py
create mode 100644 tests/tcg/aarch64/gdbstub/test-sve.py
[PATCH v4 00/21] gdbstub refactor and SVE support (+check-tcg tweaks)
Posted by Alex Bennée 4 years, 4 months ago
Hi,

This is the current iteration of gdbstub refactoring and SVE support.
I've fixed a few of the bugs caught up in review and dropped the
pseudo VG register. You can still read the state of zcr_el1 via the
existing sysreg support (which doesn't allow writing). I've also
included a couple of Damian's fixes to the gdbstub which I'll include
in the final PR.

The following patches need review
  08 - gdbstub extend GByteArray to read register helper
  09 - target arm prepare for multiple dynamic XMLs
  12 - target arm generate xml description of our SVE re
  13 - tests tcg add a configure compiler check for ARMv
  15 - tests tcg aarch64 userspace system register test
  16 - tests guest debug add a simple test runner
  17 - tests tcg aarch64 add a gdbstub testcase for SVE 
  18 - tests tcg aarch64 add SVE iotcl test
  19 - tests tcg aarch64 add test sve ioctl guest debug 

Alex Bennée (19):
  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/tcg: add a configure compiler check for ARMv8.1 and SVE
  target/arm: don't bother with id_aa64pfr0_read for USER_ONLY
  tests/tcg/aarch64: userspace system register test
  tests/guest-debug: add a simple test runner
  tests/tcg/aarch64: add a gdbstub testcase for SVE registers
  tests/tcg/aarch64: add SVE iotcl test
  tests/tcg/aarch64: add test-sve-ioctl guest-debug test

Damien Hedde (2):
  gdbstub: change GDBState.last_packet to GByteArray
  gdbstub: do not split gdb_monitor_write payload

 include/exec/gdbstub.h                      |  49 +-
 include/hw/core/cpu.h                       |   2 +-
 target/alpha/cpu.h                          |   2 +-
 target/arm/cpu.h                            |  31 +-
 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                                   | 936 ++++++++++----------
 hw/core/cpu.c                               |   2 +-
 target/alpha/gdbstub.c                      |   2 +-
 target/arm/cpu.c                            |   4 +-
 target/arm/gdbstub.c                        | 168 +++-
 target/arm/gdbstub64.c                      |   2 +-
 target/arm/helper.c                         | 174 +++-
 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/tcg/aarch64/sve-ioctls.c              |  77 ++
 tests/tcg/aarch64/sysregs.c                 | 172 ++++
 tests/.gitignore                            |   1 +
 tests/guest-debug/run-test.py               |  57 ++
 tests/tcg/aarch64/Makefile.target           |  10 +
 tests/tcg/aarch64/gdbstub/test-sve-ioctl.py |  71 ++
 tests/tcg/aarch64/gdbstub/test-sve.py       |  75 ++
 tests/tcg/configure.sh                      |  14 +
 50 files changed, 1410 insertions(+), 680 deletions(-)
 create mode 100644 tests/tcg/aarch64/sve-ioctls.c
 create mode 100644 tests/tcg/aarch64/sysregs.c
 create mode 100755 tests/guest-debug/run-test.py
 create mode 100644 tests/tcg/aarch64/gdbstub/test-sve-ioctl.py
 create mode 100644 tests/tcg/aarch64/gdbstub/test-sve.py

-- 
2.20.1