linux/arch/s390
Janosch Frank a449938297 KVM: s390: Add huge page enablement control
General KVM huge page support on s390 has to be enabled via the
kvm.hpage module parameter. Either nested or hpage can be enabled, as
we currently do not support vSIE for huge backed guests. Once the vSIE
support is added we will either drop the parameter or enable it as
default.

For a guest the feature has to be enabled through the new
KVM_CAP_S390_HPAGE_1M capability and the hpage module
parameter. Enabling it means that cmm can't be enabled for the vm and
disables pfmf and storage key interpretation.

This is due to the fact that in some cases, in upcoming patches, we
have to split huge pages in the guest mapping to be able to set more
granular memory protection on 4k pages. These split pages have fake
page tables that are not visible to the Linux memory management which
subsequently will not manage its PGSTEs, while the SIE will. Disabling
these features lets us manage PGSTE data in a consistent matter and
solve that problem.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
2018-07-30 23:13:38 +02:00
..
appldata treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
boot s390/boot: remove unused COMPILE_VERSION and ccflags-y 2018-04-16 09:10:24 +02:00
configs s390: update defconfigs 2018-04-27 06:51:31 +02:00
crypto s390/archrandom: Rework arch random implementation. 2018-05-30 11:18:04 +02:00
hypfs treewide: Use array_size() in vmalloc() 2018-06-12 16:19:22 -07:00
include s390/mm: Add huge page gmap linking support 2018-07-30 23:13:38 +02:00
kernel treewide: Use array_size() in vmalloc() 2018-06-12 16:19:22 -07:00
kvm KVM: s390: Add huge page enablement control 2018-07-30 23:13:38 +02:00
lib s390: introduce compile time check for empty .bss section 2018-05-09 10:55:01 +02:00
mm s390/mm: Add huge page gmap linking support 2018-07-30 23:13:38 +02:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-06-06 18:39:49 -07:00
numa s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-06-04 20:27:54 -07:00
purgatory s390/purgatory: Fix endless interrupt loop 2018-05-18 07:24:35 +02:00
scripts s390: introduce compile time check for empty .bss section 2018-05-09 10:55:01 +02:00
tools KVM: s390: implement CPU model only facilities 2018-03-09 09:44:17 +00:00
defconfig s390: update defconfig 2018-04-16 10:29:34 +02:00
Kbuild s390/kexec_file: Add purgatory 2018-04-16 09:10:22 +02:00
Kconfig mm: introduce ARCH_HAS_PTE_SPECIAL 2018-06-07 17:34:35 -07:00
Kconfig.debug License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile kbuild: add endianness flag to CHEKCFLAGS 2018-05-29 22:05:08 +09:00