[PATCH 0/3] accel/tcg: Fix unaligned stores to s390x low-address-protected lowcore

Ilya Leoshkevich posted 3 patches 1 year, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220711185640.3558813-1-iii@linux.ibm.com
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, Cornelia Huck <cohuck@redhat.com>, Thomas Huth <thuth@redhat.com>, Halil Pasic <pasic@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, Eric Farman <farman@linux.ibm.com>, David Hildenbrand <david@redhat.com>
accel/tcg/cputlb.c                      |  8 ++-
hw/misc/Kconfig                         |  3 +
hw/misc/debugexit_mmio.c                | 80 +++++++++++++++++++++++++
hw/misc/meson.build                     |  1 +
hw/s390x/Kconfig                        |  1 +
tests/tcg/s390x/Makefile.softmmu-target |  9 +++
tests/tcg/s390x/unaligned-lowcore.S     | 24 ++++++++
7 files changed, 123 insertions(+), 3 deletions(-)
create mode 100644 hw/misc/debugexit_mmio.c
create mode 100644 tests/tcg/s390x/Makefile.softmmu-target
create mode 100644 tests/tcg/s390x/unaligned-lowcore.S
[PATCH 0/3] accel/tcg: Fix unaligned stores to s390x low-address-protected lowcore
Posted by Ilya Leoshkevich 1 year, 10 months ago
Hi,

I noticed that certain accesses to lowcore incorrectly trigger
protection exceptions. I tracked it down to store_helper_unaligned()
calling tlb_fill() with ranges like [0, 2000).

Patch 1 fixes the issue, patch 2 adds a new MMIO device that enables
writing system tests for s390x, patch 3 adds a system test for this
issue.

Best regards,
Ilya

Ilya Leoshkevich (3):
  accel/tcg: Fix unaligned stores to s390x low-address-protected lowcore
  hw/misc: Add mmio-debug-exit device
  tests/tcg/s390x: Test unaligned accesses to lowcore

 accel/tcg/cputlb.c                      |  8 ++-
 hw/misc/Kconfig                         |  3 +
 hw/misc/debugexit_mmio.c                | 80 +++++++++++++++++++++++++
 hw/misc/meson.build                     |  1 +
 hw/s390x/Kconfig                        |  1 +
 tests/tcg/s390x/Makefile.softmmu-target |  9 +++
 tests/tcg/s390x/unaligned-lowcore.S     | 24 ++++++++
 7 files changed, 123 insertions(+), 3 deletions(-)
 create mode 100644 hw/misc/debugexit_mmio.c
 create mode 100644 tests/tcg/s390x/Makefile.softmmu-target
 create mode 100644 tests/tcg/s390x/unaligned-lowcore.S

-- 
2.35.3