Hi, In this update of the SVE support I've addressed the review comments as well expanding the test cases for SVE. I've included a few fixes for check-tcg to allow for the inclusion of SVE enabled test cases. This includes including the userspace ID register test as I needed to do something similar for the SVE specific test.
I think this is ready to be merged once the tree re-opens. The following patches need review 08 - gdbstub extend GByteArray to read register helper 09 - target arm prepare for multiple dynamic XMLs 11 - target arm default SVE length to 64 bytes for lin 12 - target arm generate xml description of our SVE re 13 - tests tcg add a configure compiler check for ARMv 14 - target arm don t bother with id_aa64pfr0_read for 15 - tests tcg aarch64 userspace system register test 16 - tests tcg ensure we re configure if configure.sh 17 - tests guest debug add a simple test runner 18 - tests tcg aarch64 add a gdbstub testcase for SVE 19 - tests tcg aarch64 add SVE iotcl test 20 - tests tcg aarch64 add test sve ioctl guest debug Alex Bennée (20): 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/tcg: ensure we re-configure if configure.sh is updated 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 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 | 903 ++++++++++---------- hw/core/cpu.c | 2 +- target/alpha/gdbstub.c | 2 +- target/arm/cpu.c | 4 +- target/arm/gdbstub.c | 172 +++- target/arm/gdbstub64.c | 2 +- target/arm/helper.c | 182 +++- 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/Makefile.prereqs | 2 +- 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 + 51 files changed, 1413 insertions(+), 658 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