mbox series

[kvm-unit-tests,v2,0/5] s390: Add support for large pages

Message ID 20210223140759.255670-1-imbrenda@linux.ibm.com (mailing list archive)
Headers show
Series s390: Add support for large pages | expand

Message

Claudio Imbrenda Feb. 23, 2021, 2:07 p.m. UTC
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