Based on work from Richard and Thomas. v5 -> v6: - "target/s390x: Implement the MVPG condition-code-option bit" -- Better handle CONFIG_USER_ONLY -- Factor handling out into s390_probe_access(). - "target/s390x: Store r1/r2 for page-translation exceptions during MVPG" -- Store tec only for !PGM_ADDRESSING
v4 -> v5: - Don't realy on TLB_INVALID_MASK -- Check against tlb_fill_exc and return the exception right away - Handle !CONFIG_USER_ONLY -- Check against haddr -- Properly store vaddr to env->__excp_addr and return PGM_ADDRESSING - Exclude tlb_fill_tec/tlb_fill_exc for CONFIG_USER_ONLY - While at it, tackle r1/r2 indication as well KVM unit tests continue working as expected. David Hildenbrand (1): target/s390x: Store r1/r2 for page-translation exceptions during MVPG Richard Henderson (1): target/s390x: Implement the MVPG condition-code-option bit target/s390x/cpu.h | 5 ++ target/s390x/excp_helper.c | 3 + target/s390x/helper.h | 2 +- target/s390x/insn-data.def | 2 +- target/s390x/mem_helper.c | 160 ++++++++++++++++++++++++++++++------- target/s390x/translate.c | 7 +- 6 files changed, 146 insertions(+), 33 deletions(-) -- 2.29.2