public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Nico Boehr <nrb@linux.ibm.com>
To: frankja@linux.ibm.com, imbrenda@linux.ibm.com, thuth@redhat.com
Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org
Subject: [kvm-unit-tests PATCH v7 0/8] s390x: Add support for running guests without MSO/MSL
Date: Fri,  3 Nov 2023 10:29:29 +0100	[thread overview]
Message-ID: <20231103092954.238491-1-nrb@linux.ibm.com> (raw)

v7:
---
* pick up r-bs
* fixup unneeded linebreak (thanks Janosch)
* remove outdated comments (thanks Janosch)
* remove unneeded includes (thanks Janosch)

v6:
---
* add commit "s390x: add test source dir to include paths" and share define with number of pages between snippet and test (Thomas)
* add commit "lib: s390x: interrupt: remove TEID_ASCE defines"
* rename dat -> use_dat (thanks Thomas)
* remove IRQ_DAT_ON/_OFF defines (thanks Thomas)
* add a comment to explain why we switch to home space when entering SIE (thanks Thomas)
* clarify register_ext_cleanup_func() doesn't touch address space mode when DAT is off (thanks Thomas)
* convert address space defines to enum (thanks Thomas)
* switch bitfield member to uint64_t (thanks Claudio)
* upercase hex number
* in selftest, set the bitfield value to a define and then assert on the bitfield (thanks Thomas)

v5:
---
* fix a big oopsie in irq_set_dat_mode() which caused parts of lowcore being
  overwritten (thanks Claudio)

v4:
---
- add static assert for PSW bitfield (Janosch, Claudio)
- remove unneeded includes (Janosch)
- move variable decls to function start (Janosch)
- remove unneeded imports (Janosch)
- lowerocase hex (Janosch)
- remove unneeded attr (Janosch)
- tyop :-) fixes (Janosch)

v3:
---
* introduce bitfield for the PSW to make handling less clumsy
* some variable renames (Claudio)
* remove unneeded barriers (Claudio)
* remove rebase leftover sie_had_pgm_int (Claudio)
* move read_pgm_int_code to header (Claudio)
* squash include fix commit into the one causing the issue (Claudio)

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 (8):
  lib: s390x: introduce bitfield for PSW mask
  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: lib: sie: don't reenter SIE on pgm int
  s390x: add test source dir to include paths
  s390x: add a test for SIE without MSO/MSL
  lib: s390x: interrupt: remove TEID_ASCE defines

 lib/s390x/asm/arch_def.h   |  36 ++++++++++--
 lib/s390x/asm/interrupt.h  |  21 +++++--
 lib/s390x/asm/mem.h        |   1 +
 lib/s390x/interrupt.c      |  36 ++++++++++++
 lib/s390x/mmu.c            |   5 +-
 lib/s390x/sie.c            |  30 +++++++++-
 s390x/Makefile             |   4 +-
 s390x/selftest.c           |  34 ++++++++++++
 s390x/sie-dat.c            | 110 +++++++++++++++++++++++++++++++++++++
 s390x/snippets/c/sie-dat.c |  52 ++++++++++++++++++
 s390x/snippets/c/sie-dat.h |   2 +
 s390x/unittests.cfg        |   3 +
 12 files changed, 320 insertions(+), 14 deletions(-)
 create mode 100644 s390x/sie-dat.c
 create mode 100644 s390x/snippets/c/sie-dat.c
 create mode 100644 s390x/snippets/c/sie-dat.h

-- 
2.41.0


             reply	other threads:[~2023-11-03  9:30 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-03  9:29 Nico Boehr [this message]
2023-11-03  9:29 ` [kvm-unit-tests PATCH v7 1/8] lib: s390x: introduce bitfield for PSW mask Nico Boehr
2023-11-03 13:35   ` Claudio Imbrenda
2023-11-03 13:43   ` Janosch Frank
2023-11-03  9:29 ` [kvm-unit-tests PATCH v7 2/8] s390x: add function to set DAT mode for all interrupts Nico Boehr
2023-11-03 13:40   ` Claudio Imbrenda
2023-11-03  9:29 ` [kvm-unit-tests PATCH v7 3/8] s390x: sie: switch to home space mode before entering SIE Nico Boehr
2023-11-03 13:39   ` Janosch Frank
2023-11-03 13:44   ` Claudio Imbrenda
2023-11-03  9:29 ` [kvm-unit-tests PATCH v7 4/8] s390x: lib: don't forward PSW when handling exception in SIE Nico Boehr
2023-11-03  9:29 ` [kvm-unit-tests PATCH v7 5/8] s390x: lib: sie: don't reenter SIE on pgm int Nico Boehr
2023-11-03 13:48   ` Claudio Imbrenda
2023-11-03 13:53   ` Janosch Frank
2023-11-06 16:36     ` Nico Boehr
2023-11-03  9:29 ` [kvm-unit-tests PATCH v7 6/8] s390x: add test source dir to include paths Nico Boehr
2023-11-03 13:56   ` Janosch Frank
2023-11-03 13:57   ` Claudio Imbrenda
2023-11-03  9:29 ` [kvm-unit-tests PATCH v7 7/8] s390x: add a test for SIE without MSO/MSL Nico Boehr
2023-11-03 14:12   ` Claudio Imbrenda
2023-11-03 14:16   ` Janosch Frank
2023-11-06 15:51     ` Nico Boehr
2023-11-06 10:39   ` Heiko Carstens
2023-11-03  9:29 ` [kvm-unit-tests PATCH v7 8/8] lib: s390x: interrupt: remove TEID_ASCE defines Nico Boehr
2023-11-03 14:14   ` Claudio Imbrenda
2023-11-03 14:18   ` Janosch Frank

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231103092954.238491-1-nrb@linux.ibm.com \
    --to=nrb@linux.ibm.com \
    --cc=frankja@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox