[PATCH v2 0/3] target/s390x: Implement Early Exception Recognition

Ilya Leoshkevich posted 3 patches 1 year, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230315020408.384766-1-iii@linux.ibm.com
Maintainers: Richard Henderson <richard.henderson@linaro.org>, David Hildenbrand <david@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>, Thomas Huth <thuth@redhat.com>
target/s390x/cpu.c                      | 26 +++++++++++++++
target/s390x/cpu.h                      |  1 +
target/s390x/tcg/excp_helper.c          |  3 +-
target/s390x/tcg/translate.c            | 38 ++++++++++++++++------
tests/tcg/s390x/Makefile.softmmu-target |  5 +++
tests/tcg/s390x/exrl-ssm-early.S        | 43 +++++++++++++++++++++++++
tests/tcg/s390x/lpsw.S                  | 36 +++++++++++++++++++++
tests/tcg/s390x/lpswe-early.S           | 38 ++++++++++++++++++++++
tests/tcg/s390x/ssm-early.S             | 41 +++++++++++++++++++++++
tests/tcg/s390x/stosm-early.S           | 41 +++++++++++++++++++++++
10 files changed, 261 insertions(+), 11 deletions(-)
create mode 100644 tests/tcg/s390x/exrl-ssm-early.S
create mode 100644 tests/tcg/s390x/lpsw.S
create mode 100644 tests/tcg/s390x/lpswe-early.S
create mode 100644 tests/tcg/s390x/ssm-early.S
create mode 100644 tests/tcg/s390x/stosm-early.S
[PATCH v2 0/3] target/s390x: Implement Early Exception Recognition
Posted by Ilya Leoshkevich 1 year, 1 month ago
v1: https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg04372.html
v1 -> v2: Fix SSM and STOSM (Nina).
          Fix LPSW (Nina).
          Check bits 12 and 24 (Nina).
          Improve the commit message (Nina).
          Improve naming (David).

Hi,

Currently loading bad PSW flags does not lead to an exception, which is
not correct. This series fixes this by implementing what PoP calls
"Early Exception Recognition". Since it applies to both loading PSW with
LPSW/LPSWE and to interrupt handling, s390_cpu_set_psw() looks like the
right place for it to be in. SSM and STOSM need special handling, which
is implemented inline.

Patch 1 fixes the LPSW instruction (which is related), patch 2 
implements Early Exception Recognition, patch 3 adds a number of tests.

Best regards,
Ilya

Ilya Leoshkevich (3):
  target/s390x: Fix LPSW
  target/s390x: Implement Early Exception Recognition
  tests/tcg/s390x: Add PSW modification tests

 target/s390x/cpu.c                      | 26 +++++++++++++++
 target/s390x/cpu.h                      |  1 +
 target/s390x/tcg/excp_helper.c          |  3 +-
 target/s390x/tcg/translate.c            | 38 ++++++++++++++++------
 tests/tcg/s390x/Makefile.softmmu-target |  5 +++
 tests/tcg/s390x/exrl-ssm-early.S        | 43 +++++++++++++++++++++++++
 tests/tcg/s390x/lpsw.S                  | 36 +++++++++++++++++++++
 tests/tcg/s390x/lpswe-early.S           | 38 ++++++++++++++++++++++
 tests/tcg/s390x/ssm-early.S             | 41 +++++++++++++++++++++++
 tests/tcg/s390x/stosm-early.S           | 41 +++++++++++++++++++++++
 10 files changed, 261 insertions(+), 11 deletions(-)
 create mode 100644 tests/tcg/s390x/exrl-ssm-early.S
 create mode 100644 tests/tcg/s390x/lpsw.S
 create mode 100644 tests/tcg/s390x/lpswe-early.S
 create mode 100644 tests/tcg/s390x/ssm-early.S
 create mode 100644 tests/tcg/s390x/stosm-early.S

-- 
2.39.2