Introduce support for large (1M) and huge (2G) pages. Add a simple testcase for EDAT1 and EDAT2. v1->v2 * split patch 2 -> new patch 2 and new patch 3 * patch 2: fixes pgtable.h, also fixes wrong usage of REGION_TABLE_LENGTH instead of SEGMENT_TABLE_LENGTH * patch 3: introduces new macros and functions for large pages * patch 4: remove erroneous double call to pte_alloc in get_pte * patch 4: added comment in mmu.c to bridge the s390x architecural names with the Linux ones used in the kvm-unit-tests * patch 5: added and fixed lots of comments to explain what's going on * patch 5: set FC for region 3 after writing the canary, like for segments * patch 5: use uintptr_t instead of intptr_t for set_prefix * patch 5: introduce new macro PGD_PAGE_SHIFT instead of using magic value 41 * patch 5: use VIRT(0) instead of mem to make it more clear what we are doing, even though VIRT(0) expands to mem Claudio Imbrenda (5): libcflat: add SZ_1M and SZ_2G s390x: lib: fix pgtable.h s390x: lib: improve pgtable.h s390x: mmu: add support for large pages s390x: edat test s390x/Makefile | 1 + lib/s390x/asm/pgtable.h | 40 +++++- lib/libcflat.h | 2 + lib/s390x/mmu.h | 73 +++++++++- lib/s390x/mmu.c | 260 ++++++++++++++++++++++++++++++++---- s390x/edat.c | 285 ++++++++++++++++++++++++++++++++++++++++ s390x/unittests.cfg | 3 + 7 files changed, 633 insertions(+), 31 deletions(-) create mode 100644 s390x/edat.c -- 2.26.2