[kvm-unit-tests PATCH v2 0/6] s390x: Add support for running guests without MSO/MSL

Nico Boehr
2023-05-16T13:05:53Z

v2:
---
* add function to change DAT/AS mode for all irq handlers (Janosch, Claudio)
* instead of a new flag in PROG0C, check the pgm int code in lowcore (Janosch)
* fix indents, comments (Nina)

Right now, all SIE tests in kvm-unit-tests (i.e. where kvm-unit-test is the
hypervisor) run using MSO/MSL.

This is convenient, because it's simple. But it also comes with
disadvantages, for example some features are unavailabe with MSO/MSL.

This series adds support for running guests without MSO/MSL with dedicated
guest page tables for the GPA->HPA translation.

Since SIE implicitly uses the primary space mode for the guest, the host
can't run in the primary space mode, too. To avoid moving all tests to the
home space mode, only switch to home space mode when it is actually needed.

This series also comes with various bugfixes that were caught while
develoing this.

Nico Boehr (6):
s390x: add function to set DAT mode for all interrupts
s390x: sie: switch to home space mode before entering SIE
s390x: lib: don't forward PSW when handling exception in SIE
s390x: fix compile of interrupt.c
s390x: lib: sie: don't reenter SIE on pgm int
s390x: add a test for SIE without MSO/MSL

lib/s390x/asm/arch_def.h | 1 +
lib/s390x/asm/interrupt.h | 5 ++
lib/s390x/asm/mem.h | 1 +
lib/s390x/interrupt.c | 54 +++++++++++++++++
lib/s390x/mmu.c | 5 +-
lib/s390x/sie.c | 22 ++++++-
s390x/Makefile | 2 +
s390x/sie-dat.c | 120 +++++++++++++++++++++++++++++++++++++
s390x/snippets/c/sie-dat.c | 58 ++++++++++++++++++
s390x/unittests.cfg | 3 +
10 files changed, 268 insertions(+), 3 deletions(-)
create mode 100644 s390x/sie-dat.c
create mode 100644 s390x/snippets/c/sie-dat.c

--
2.39.1