On 13/02/2018 17:23, David Hildenbrand wrote: > This series implements > - detection of installed physical memory > - setup of the physical allocator > - setup of the MMU / page tables / DAT > - setup of the virtual allocator > > The CPU now runs with DAT enabled. I added a small test to make sure > malloc() indeed works and uses virtual adresses. Also, the sieve test > is added. > > While at it, fix the TEST BLOCK test on newer compilers. > > Tested with upsteam QEMU TCG and KVM. However, to pass under TCG a > fix is necessary ("[PATCH v1] s390x/tcg: fix disabling/enabling DAT"). > > v2 -> v3: > - split up configure_dat() to make use of two functions extract_psw_mask() > and load_psw_mask(), it is now much cleaner and we might need these > functions in the future. > - Minor cleanups / comment fixes Applied, thanks. Happy that the arm/x86 code generalized decently to s390! Paolo > > > David Hildenbrand (11): > s390x: fix TEST BLOCK tests > s390x: use highest addresses for PGM_ADDRESSING errors > s390x: set initital stack pointer to stackptr, not stacktop > s390x: add missing sclp definitions from QEMU > s390x: rename sclp_setup() to sclp_ascii_setup() > s390x: detect installed memory > s390x: initialize the physical allocator > s390x: add vmalloc support > s390x: enable DAT in PGM interrupt handler > s390x: add test for (v)malloc > s390x: add sieve test > > lib/s390x/asm/arch_def.h | 58 ++++++++++++ > lib/s390x/asm/interrupt.h | 1 + > lib/s390x/asm/page.h | 24 +++++ > lib/s390x/asm/pgtable.h | 224 ++++++++++++++++++++++++++++++++++++++++++++++ > lib/s390x/interrupt.c | 11 +++ > lib/s390x/io.c | 3 +- > lib/s390x/mmu.c | 108 ++++++++++++++++++++++ > lib/s390x/sclp-ascii.c | 6 +- > lib/s390x/sclp.c | 72 +++++++++++++++ > lib/s390x/sclp.h | 112 ++++++++++++++++++++++- > s390x/Makefile | 7 ++ > s390x/cstart64.S | 2 +- > s390x/intercept.c | 14 +-- > s390x/selftest.c | 31 ++++++- > s390x/sieve.c | 59 ++++++++++++ > s390x/unittests.cfg | 6 ++ > 16 files changed, 723 insertions(+), 15 deletions(-) > create mode 100644 lib/s390x/asm/pgtable.h > create mode 100644 lib/s390x/mmu.c > create mode 100644 lib/s390x/sclp.c > create mode 100644 s390x/sieve.c >