v3: https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg04687.html
v3 -> v4: Get rid of the preprocessor magic in the new tests (Thomas).
v2: https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg04231.html
v2 -> v3: Fix clang build (Thomas).
v1: https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg03821.html
v1 -> v2: Use MO_ALIGN (Richard).
Patches that need review:
- [PATCH 12/12] tests/tcg/s390x: Test unaligned accesses
Hi,
This series makes accessing unaligned addresses with branching, LPSWE,
EXECUTE and relative long instructions fail with a specification
exception instead of succeeding.
Patches 1-10 are fixes, patch 11 adjusts a comment to reflect a change
done by fixes, patch 12 adds a number of softmmu and user tests.
Best regards,
Ilya
Ilya Leoshkevich (12):
target/s390x: Handle branching to odd addresses
target/s390x: Handle EXECUTE of odd addresses
target/s390x: Handle LGRL from non-aligned addresses
target/s390x: Handle LRL and LGFRL from non-aligned addresses
target/s390x: Handle LLGFRL from non-aligned addresses
target/s390x: Handle CRL and CGFRL with non-aligned addresses
target/s390x: Handle CGRL and CLGRL with non-aligned addresses
target/s390x: Handle CLRL and CLGFRL with non-aligned addresses
target/s390x: Handle STRL to non-aligned addresses
target/s390x: Handle STGRL to non-aligned addresses
target/s390x: Update do_unaligned_access() comment
tests/tcg/s390x: Test unaligned accesses
target/s390x/cpu.h | 9 ++++
target/s390x/tcg/excp_helper.c | 4 +-
target/s390x/tcg/insn-data.h.inc | 46 ++++++++++-----------
target/s390x/tcg/mem_helper.c | 12 +++++-
target/s390x/tcg/translate.c | 24 +++++++----
tests/tcg/s390x/Makefile.softmmu-target | 15 +++++--
tests/tcg/s390x/Makefile.target | 8 ++++
tests/tcg/s390x/br-odd.S | 16 +++++++
tests/tcg/s390x/cgrl-unaligned.S | 16 +++++++
tests/tcg/s390x/clrl-unaligned.S | 16 +++++++
tests/tcg/s390x/crl-unaligned.S | 16 +++++++
tests/tcg/s390x/ex-odd.S | 17 ++++++++
tests/tcg/s390x/lgrl-unaligned.S | 16 +++++++
tests/tcg/s390x/llgfrl-unaligned.S | 16 +++++++
tests/tcg/s390x/lpswe-unaligned.S | 18 ++++++++
tests/tcg/s390x/lrl-unaligned.S | 16 +++++++
tests/tcg/s390x/pgm-specification-softmmu.S | 40 ++++++++++++++++++
tests/tcg/s390x/pgm-specification-user.c | 37 +++++++++++++++++
tests/tcg/s390x/pgm-specification.mak | 15 +++++++
tests/tcg/s390x/softmmu.ld | 20 +++++++++
tests/tcg/s390x/stgrl-unaligned.S | 16 +++++++
tests/tcg/s390x/strl-unaligned.S | 16 +++++++
22 files changed, 371 insertions(+), 38 deletions(-)
create mode 100644 tests/tcg/s390x/br-odd.S
create mode 100644 tests/tcg/s390x/cgrl-unaligned.S
create mode 100644 tests/tcg/s390x/clrl-unaligned.S
create mode 100644 tests/tcg/s390x/crl-unaligned.S
create mode 100644 tests/tcg/s390x/ex-odd.S
create mode 100644 tests/tcg/s390x/lgrl-unaligned.S
create mode 100644 tests/tcg/s390x/llgfrl-unaligned.S
create mode 100644 tests/tcg/s390x/lpswe-unaligned.S
create mode 100644 tests/tcg/s390x/lrl-unaligned.S
create mode 100644 tests/tcg/s390x/pgm-specification-softmmu.S
create mode 100644 tests/tcg/s390x/pgm-specification-user.c
create mode 100644 tests/tcg/s390x/pgm-specification.mak
create mode 100644 tests/tcg/s390x/softmmu.ld
create mode 100644 tests/tcg/s390x/stgrl-unaligned.S
create mode 100644 tests/tcg/s390x/strl-unaligned.S
--
2.39.2