s390x: protvirt: Support unpack facility
commitc3347ed0d2ee42a7dcf7bfe7f9c3884a9596727a
authorJanosch Frank <frankja@linux.ibm.com>
Mon, 23 Mar 2020 08:36:06 +0000 (23 04:36 -0400)
committerCornelia Huck <cohuck@redhat.com>
Wed, 29 Apr 2020 12:30:54 +0000 (29 14:30 +0200)
treef53ebc5ea6b896de2b8b63cbd34eac6941611737
parent9b39d29470e9dbef24ee842a44ea56bd92b855ea
s390x: protvirt: Support unpack facility

The unpack facility provides the means to setup a protected guest. A
protected guest cannot be introspected by the hypervisor or any
user/administrator of the machine it is running on.

Protected guests are encrypted at rest and need a special boot
mechanism via diag308 subcode 8 and 10.

Code 8 sets the PV specific IPLB which is retained separately from
those set via code 5.

Code 10 is used to unpack the VM into protected memory, verify its
integrity and start it.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Co-developed-by: Christian Borntraeger <borntraeger@de.ibm.com> [Changes
to machine]
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <20200323083606.24520-1-frankja@linux.ibm.com>
[CH: fixed up KVM_PV_VM_ -> KVM_PV_]
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
14 files changed:
MAINTAINERS
hw/s390x/Makefile.objs
hw/s390x/ipl.c
hw/s390x/ipl.h
hw/s390x/pv.c [new file with mode: 0644]
hw/s390x/s390-virtio-ccw.c
include/hw/s390x/pv.h [new file with mode: 0644]
include/hw/s390x/s390-virtio-ccw.h
target/s390x/cpu.c
target/s390x/cpu_features_def.inc.h
target/s390x/diag.c
target/s390x/kvm-stub.c
target/s390x/kvm.c
target/s390x/kvm_s390x.h