qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Janosch Frank <frankja@linux.ibm.com>
To: qemu-devel@nongnu.org
Cc: borntraeger@de.ibm.com, qemu-s390x@nongnu.org, cohuck@redhat.com,
	david@redhat.com
Subject: [PATCH v10 00/16] s390x: Protected Virtualization support
Date: Wed, 18 Mar 2020 10:30:31 -0400	[thread overview]
Message-ID: <20200318143047.2335-1-frankja@linux.ibm.com> (raw)

Most of the QEMU changes for PV are related to the new IPL type with
subcodes 8 - 10 and the execution of the necessary Ultravisor calls to
IPL secure guests. Note that we can only boot into secure mode from
normal mode, i.e. stfle 161 is not active in secure mode.

The other changes related to data gathering for emulation and
disabling addressing checks in secure mode, as well as CPU resets.

v10:
	* Moved documentation into subfolder
	* Added huge page fencing
	* Cleared up IO questions that were remaining
	* Added exits/abbort/assert for conditions where we can't recover

v9:
	* Moved pv.h into include/hw/s390x/
	* Replaced cmd strings with macro
	* Moved s390_is_pv() to pv.h
	* Added new copyright dates and authors
v8:
	* Removed the iplb_valid changes as they are picked
	* Checkpatch fixes
	* Review fixes
	* Replaced env/ms->pv with s390_is_pv()
v7:
	* Merged the diag 308 subcode patches and the unpack
	* Moved the SIDA memops into the sync patch
	* Bailout for the none machien and fencing of CONFIG_USER_ONLY
	* Changes due to review

v6:
	* diag308 rc numbers were changed by architecture
	* IPL pv block received one more reserved field by architecture
	* Officially added the bios patch to the series
	* Dropped picked constant rename patch

v5:
	* Moved docs into docs/system
	* Some more enable/disable changes
	* Moved enablement/disablement of pv in separate functions
	* Some review fixes

v4:
	* Sync with KVM changes
	* Review changes

V3:
	* Use dedicated functions to access SIDA
	* Smaller cleanups and segfault fixes
	* Error reporting for Ultravisor calls
	* Inject of RC of diag308 subcode 10 fails

V2:
	* Split out cleanups
	* Internal PV state tracking
	* Review feedback


Christian Borntraeger (1):
  s390x: Add unpack facility feature to GA1

Janosch Frank (15):
  s390x: Move diagnose 308 subcodes and rcs into ipl.h
  Sync pv
  s390x: protvirt: Support unpack facility
  s390x: protvirt: Add migration blocker
  s390x: protvirt: Inhibit balloon when switching to protected mode
  s390x: protvirt: KVM intercept changes
  s390x: Add SIDA memory ops
  s390x: protvirt: Move STSI data over SIDAD
  s390x: protvirt: SCLP interpretation
  s390x: protvirt: Set guest IPL PSW
  s390x: protvirt: Move diag 308 data over SIDA
  s390x: protvirt: Disable address checks for PV guest IO emulation
  s390x: protvirt: Move IO control structures over SIDA
  s390x: protvirt: Handle SIGP store status correctly
  docs: system: Add protvirt docs

 docs/system/s390x/protvirt.rst      |  59 +++++++++++
 docs/system/target-s390x.rst        |   5 +
 hw/s390x/Makefile.objs              |   1 +
 hw/s390x/ipl.c                      |  59 ++++++++++-
 hw/s390x/ipl.h                      | 102 ++++++++++++++++++-
 hw/s390x/pv.c                       |  98 ++++++++++++++++++
 hw/s390x/s390-virtio-ccw.c          | 148 +++++++++++++++++++++++++++-
 hw/s390x/sclp.c                     |  65 +++++++++---
 include/hw/s390x/pv.h               |  55 +++++++++++
 include/hw/s390x/s390-virtio-ccw.h  |   1 +
 include/hw/s390x/sclp.h             |   2 +
 linux-headers/linux/kvm.h           |  45 ++++++++-
 target/s390x/cpu.c                  |  28 ++++--
 target/s390x/cpu.h                  |   7 +-
 target/s390x/cpu_features_def.inc.h |   1 +
 target/s390x/diag.c                 |  77 +++++++++++----
 target/s390x/gen-features.c         |   1 +
 target/s390x/helper.c               |   6 ++
 target/s390x/ioinst.c               |  96 +++++++++++++-----
 target/s390x/kvm-stub.c             |   5 +
 target/s390x/kvm.c                  |  79 +++++++++++++--
 target/s390x/kvm_s390x.h            |   3 +
 target/s390x/mmu_helper.c           |  14 +++
 23 files changed, 877 insertions(+), 80 deletions(-)
 create mode 100644 docs/system/s390x/protvirt.rst
 create mode 100644 hw/s390x/pv.c
 create mode 100644 include/hw/s390x/pv.h

-- 
2.25.1



             reply	other threads:[~2020-03-18 14:32 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-18 14:30 Janosch Frank [this message]
2020-03-18 14:30 ` [PATCH v10 01/16] s390x: Move diagnose 308 subcodes and rcs into ipl.h Janosch Frank
2020-03-18 16:42   ` Cornelia Huck
2020-03-18 20:29   ` Christian Borntraeger
2020-03-19 12:42   ` Claudio Imbrenda
2020-03-18 14:30 ` [PATCH v10 02/16] Sync pv Janosch Frank
2020-03-18 14:30 ` [PATCH v10 03/16] s390x: protvirt: Support unpack facility Janosch Frank
2020-03-19 11:08   ` Cornelia Huck
2020-03-19 11:55     ` Janosch Frank
2020-03-19 11:57       ` Christian Borntraeger
2020-03-19 11:57         ` Janosch Frank
2020-03-18 14:30 ` [PATCH v10 04/16] s390x: protvirt: Add migration blocker Janosch Frank
2020-03-18 14:30 ` [PATCH v10 05/16] s390x: protvirt: Inhibit balloon when switching to protected mode Janosch Frank
2020-03-18 17:27   ` Cornelia Huck
2020-03-18 14:30 ` [PATCH v10 06/16] s390x: protvirt: KVM intercept changes Janosch Frank
2020-03-18 14:30 ` [PATCH v10 07/16] s390x: Add SIDA memory ops Janosch Frank
2020-03-18 14:30 ` [PATCH v10 08/16] s390x: protvirt: Move STSI data over SIDAD Janosch Frank
2020-03-18 17:57   ` Cornelia Huck
2020-03-18 14:30 ` [PATCH v10 09/16] s390x: protvirt: SCLP interpretation Janosch Frank
2020-03-19 12:09   ` Cornelia Huck
2020-03-19 12:46     ` Janosch Frank
2020-03-19 12:50       ` Cornelia Huck
2020-03-18 14:30 ` [PATCH v10 10/16] s390x: protvirt: Set guest IPL PSW Janosch Frank
2020-03-18 18:00   ` Cornelia Huck
2020-03-19  8:19     ` Janosch Frank
2020-03-18 14:30 ` [PATCH v10 11/16] s390x: protvirt: Move diag 308 data over SIDA Janosch Frank
2020-03-19 12:12   ` Cornelia Huck
2020-03-18 14:30 ` [PATCH v10 12/16] s390x: protvirt: Disable address checks for PV guest IO emulation Janosch Frank
2020-03-18 14:30 ` [PATCH v10 13/16] s390x: protvirt: Move IO control structures over SIDA Janosch Frank
2020-03-19 12:23   ` Cornelia Huck
2020-03-19 12:50     ` Janosch Frank
2020-03-18 14:30 ` [PATCH v10 14/16] s390x: protvirt: Handle SIGP store status correctly Janosch Frank
2020-03-18 14:30 ` [PATCH v10 15/16] docs: system: Add protvirt docs Janosch Frank
2020-03-18 14:53   ` Cornelia Huck
2020-03-19  9:04     ` Janosch Frank
2020-03-19  9:59       ` Cornelia Huck
2020-03-18 16:50   ` Christian Borntraeger
2020-03-18 14:30 ` [PATCH v10 16/16] s390x: Add unpack facility feature to GA1 Janosch Frank
2020-03-18 16:43   ` Cornelia Huck

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=20200318143047.2335-1-frankja@linux.ibm.com \
    --to=frankja@linux.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    /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;
as well as URLs for NNTP newsgroup(s).