This is a split-up of: [PATCH-for-4.2 v1 3/9] s390x/mmu: DAT translation rewrite Rebased on latest upstream changes.
v3 -> v4: - "s390x/mmu: Inject PGM_ADDRESSING on bogus table addresses" -- s/goguous/bogus/ - "s390x/mmu: DAT table definition overhaul" -- Fix SEGMENT_ENTRY_SFAA -- Drop three unnecessary defines - "s390x/mmu: Convert to non-recursive page table walk" -- Reorder "REGION_ENTRY_P" checks -- Drop default cases that cannot be reached v2 -> v3: - "s390x/mmu: Inject PGM_ADDRESSING on boguous table addresses" -- Keep using cs->as -- Make read_table_entry() return true/false - "s390x/mmu: DAT table definition overhaul" -- Added a comment where to find details about s390x and used definitions v1 -> v2: - Cleanup old code first, before switching to non-recursive handling - Fix EDAT1 translation: I was missing the vaddr offset within the 1MB page. David Hildenbrand (7): s390x/mmu: Drop debug logging from MMU code s390x/mmu: Move DAT protection handling out of mmu_translate_asce() s390x/mmu: Inject DAT exceptions from a single place s390x/mmu: Inject PGM_ADDRESSING on bogus table addresses s390x/mmu: Use TARGET_PAGE_MASK in mmu_translate_pte() s390x/mmu: DAT table definition overhaul s390x/mmu: Convert to non-recursive page table walk target/s390x/cpu.h | 78 +++++--- target/s390x/mem_helper.c | 12 +- target/s390x/mmu_helper.c | 365 ++++++++++++++++---------------------- 3 files changed, 220 insertions(+), 235 deletions(-) -- 2.21.0