[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v8 00/15] s390x: Protected Virtualization support
From: |
Janosch Frank |
Subject: |
[PATCH v8 00/15] s390x: Protected Virtualization support |
Date: |
Tue, 10 Mar 2020 09:39:53 -0400 |
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.
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 (14):
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: Add protvirt docs
docs/system/index.rst | 1 +
docs/system/protvirt.rst | 56 +++++++++++
hw/s390x/Makefile.objs | 1 +
hw/s390x/ipl.c | 56 ++++++++++-
hw/s390x/ipl.h | 79 ++++++++++++++++
hw/s390x/pv.c | 104 +++++++++++++++++++++
hw/s390x/pv.h | 33 +++++++
hw/s390x/s390-virtio-ccw.c | 140 +++++++++++++++++++++++++++-
hw/s390x/sclp.c | 30 ++++++
include/hw/s390x/s390-virtio-ccw.h | 1 +
include/hw/s390x/sclp.h | 2 +
linux-headers/linux/kvm.h | 45 ++++++++-
target/s390x/cpu.c | 45 +++++++--
target/s390x/cpu.h | 8 +-
target/s390x/cpu_features_def.inc.h | 1 +
target/s390x/diag.c | 57 +++++++++--
target/s390x/gen-features.c | 1 +
target/s390x/helper.c | 5 +
target/s390x/ioinst.c | 119 ++++++++++++++++-------
target/s390x/kvm.c | 68 ++++++++++++--
target/s390x/kvm_s390x.h | 2 +
target/s390x/mmu_helper.c | 14 +++
22 files changed, 804 insertions(+), 64 deletions(-)
create mode 100644 docs/system/protvirt.rst
create mode 100644 hw/s390x/pv.c
create mode 100644 hw/s390x/pv.h
--
2.20.1
- [PATCH v8 00/15] s390x: Protected Virtualization support,
Janosch Frank <=
- [PATCH v8 10/15] s390x: protvirt: Move diag 308 data over SIDA, Janosch Frank, 2020/03/10
- [PATCH v8 09/15] s390x: protvirt: Set guest IPL PSW, Janosch Frank, 2020/03/10
- [PATCH v8 05/15] s390x: protvirt: KVM intercept changes, Janosch Frank, 2020/03/10
- [PATCH v8 14/15] docs: Add protvirt docs, Janosch Frank, 2020/03/10
- [PATCH v8 15/15] s390x: Add unpack facility feature to GA1, Janosch Frank, 2020/03/10
- [PATCH v8 06/15] s390x: Add SIDA memory ops, Janosch Frank, 2020/03/10
- [PATCH v8 01/15] Sync pv, Janosch Frank, 2020/03/10