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