linux/arch/s390
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
..
appldata s390: appldata: drop owner assignment from platform_drivers 2014-10-20 16:20:13 +02:00
boot kbuild: delete unnecessary "@:" 2016-04-20 10:36:57 +02:00
configs s390/config: update default configuration 2016-05-23 09:11:37 +02:00
crypto s390/crypto: cleanup and move the header with the cpacf definitions 2016-04-15 18:16:40 +02:00
hypfs s390: Make diag224 public 2016-06-10 12:07:10 +02:00
include KVM: s390: vsie: initial support for nested virtualization 2016-06-21 09:43:33 +02:00
kernel s390: Make diag224 public 2016-06-10 12:07:10 +02:00
kvm KVM: s390: vsie: initial support for nested virtualization 2016-06-21 09:43:33 +02:00
lib s390/spinlock: avoid yield to non existent cpu 2016-04-15 18:01:48 +02:00
mm KVM: s390: backup the currently enabled gmap when scheduled out 2016-06-20 09:55:24 +02:00
net s390/bpf: fix recache skb->data/hlen for skb_vlan_push/pop 2016-05-19 09:14:27 +02:00
numa s390/numa: move numa_init_late() from device to arch_initcall 2016-01-26 12:45:24 +01:00
oprofile s390/oprofile: add z13/z13s model numbers 2016-02-24 12:18:10 +01:00
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2016-05-18 12:17:16 -07:00
tools s390/facilities: add helper tool to generate facility lists 2015-12-18 14:59:20 +01:00
defconfig s390/config: update default configuration 2016-05-23 09:11:37 +02:00
Kbuild s390/numa: add core infrastructure 2015-08-03 18:40:25 +02:00
Kconfig lib/GCD.c: use binary GCD algorithm instead of Euclidean 2016-05-20 17:58:30 -07:00
Kconfig.debug arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug 2016-01-09 06:30:49 -08:00
Makefile s390/facilities: add helper tool to generate facility lists 2015-12-18 14:59:20 +01:00