[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 00/21] gdbstub refactor and SVE support (+check-tcg tweaks)
From: |
Alex Bennée |
Subject: |
[PATCH v4 00/21] gdbstub refactor and SVE support (+check-tcg tweaks) |
Date: |
Fri, 20 Dec 2019 12:04:17 +0000 |
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
- [PATCH v4 00/21] gdbstub refactor and SVE support (+check-tcg tweaks),
Alex Bennée <=
- [PATCH v4 01/21] gdbstub: make GDBState static and have common init function, Alex Bennée, 2019/12/20
- [PATCH v4 05/21] gdbstub: add helper for 128 bit registers, Alex Bennée, 2019/12/20
- [PATCH v4 03/21] gdbstub: move str_buf to GDBState and use GString, Alex Bennée, 2019/12/20
- [PATCH v4 04/21] gdbstub: move mem_buf to GDBState and use GByteArray, Alex Bennée, 2019/12/20
- [PATCH v4 06/21] target/arm: use gdb_get_reg helpers, Alex Bennée, 2019/12/20
- [PATCH v4 02/21] gdbstub: stop passing GDBState * around and use global, Alex Bennée, 2019/12/20
- [PATCH v4 07/21] target/m68k: use gdb_get_reg helpers, Alex Bennée, 2019/12/20
- [PATCH v4 10/21] target/arm: explicitly encode regnum in our XML, Alex Bennée, 2019/12/20
- [PATCH v4 09/21] target/arm: prepare for multiple dynamic XMLs, Alex Bennée, 2019/12/20
- [PATCH v4 17/21] tests/tcg/aarch64: add a gdbstub testcase for SVE registers, Alex Bennée, 2019/12/20