linux/arch/s390/kvm
David Hildenbrand a3508fbe9d KVM: s390: vsie: initial support for nested virtualization
This patch adds basic support for nested virtualization on s390x, called
VSIE (virtual SIE) and allows it to be used by the guest if the necessary
facilities are supported by the hardware and enabled for the guest.

In order to make this work, we have to shadow the sie control block
provided by guest 2. In order to gain some performance, we have to
reuse the same shadow blocks as good as possible. For now, we allow
as many shadow blocks as we have VCPUs (that way, every VCPU can run the
VSIE concurrently).

We have to watch out for the prefix getting unmapped out of our shadow
gmap and properly get the VCPU out of VSIE in that case, to fault the
prefix pages back in. We use the PROG_REQUEST bit for that purpose.

This patch is based on an initial prototype by Tobias Elpelt.

Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2016-06-21 09:43:33 +02:00
..
diag.c KVM: s390: provide logging for diagnose 0x500 2016-06-10 12:07:26 +02:00
gaccess.c s390/mm: support real-space for gmap shadows 2016-06-20 09:55:02 +02:00
gaccess.h s390/mm: take ipte_lock during shadow faults 2016-06-20 09:54:40 +02:00
guestdbg.c KVM: S390: Fix typo 2016-06-14 11:16:27 +02:00
intercept.c KVM: s390: Add sthyi emulation 2016-06-10 12:07:12 +02:00
interrupt.c KVM: s390: fixup I/O interrupt traces 2016-06-10 12:07:26 +02:00
irq.h KVM: s390: irq routing for adapter interrupts. 2014-03-21 13:43:00 +01:00
Kconfig KVM: halt_polling: provide a way to qualify wakeups during poll 2016-05-13 17:29:23 +02:00
kvm-s390.c KVM: s390: vsie: initial support for nested virtualization 2016-06-21 09:43:33 +02:00
kvm-s390.h KVM: s390: vsie: initial support for nested virtualization 2016-06-21 09:43:33 +02:00
Makefile KVM: s390: vsie: initial support for nested virtualization 2016-06-21 09:43:33 +02:00
priv.c KVM: s390: vsie: initial support for nested virtualization 2016-06-21 09:43:33 +02:00
sigp.c KVM: s390: enable SRS only if enabled for the guest 2016-05-09 13:33:55 +02:00
sthyi.c KVM: s390: Limit sthyi execution 2016-06-10 12:07:12 +02:00
trace-s390.h KVM: s390: obey kptr_restrict in traces 2015-12-15 17:06:32 +01:00
trace.h KVM: s390: trace and count all skey intercepts 2016-06-10 12:07:31 +02:00
vsie.c KVM: s390: vsie: initial support for nested virtualization 2016-06-21 09:43:33 +02:00