I've been cleaning up some random branches and found this, dating from mid-2017(!) My memory is that I wrote this going into some softfreeze and then failed to do anything with it once development opened again. Oops.
The major change is to handle ILEN via TCG unwinding, so that we don't have to Just Know about the ILEN (the majority of the calls to s390_program_interrupt use constants), or re-read from memory (which gets EX wrong). r~ Richard Henderson (6): target/s390x: Truncate 32-bit psw_addr before creating TB target/s390x: Add ilen to unwind data target/s390x: Use ilen from unwind in tlb_fill target/s390x: Remove ilen parameter from tcg_s390_program_interrupt target/s390x: Remove ilen parameter from s390_program_interrupt target/s390x: Use tcg_s390_program_interrupt in TCG helpers target/s390x/cpu.h | 33 +++++++++++++------- target/s390x/internal.h | 2 +- target/s390x/tcg_s390x.h | 4 +-- hw/s390x/s390-pci-inst.c | 58 ++++++++++++++++++------------------ target/s390x/cc_helper.c | 4 +-- target/s390x/crypto_helper.c | 7 ++--- target/s390x/diag.c | 14 ++++----- target/s390x/excp_helper.c | 10 +++---- target/s390x/fpu_helper.c | 6 ++-- target/s390x/int_helper.c | 15 +++++----- target/s390x/interrupt.c | 12 ++++---- target/s390x/ioinst.c | 40 ++++++++++++------------- target/s390x/mem_helper.c | 53 +++++++++++++++++++------------- target/s390x/misc_helper.c | 27 ++++++----------- target/s390x/tcg-stub.c | 4 +-- target/s390x/translate.c | 16 +++++----- 16 files changed, 163 insertions(+), 142 deletions(-) -- 2.17.1