With the page flag we now have a cleaner way to clear skeys for new guest pmds. skey operations now also handle faults, as skeys for pmds can not be saved in the PGSTEs when the pmd is invalid. If there are no huge upcries, this will be the last version. Branch: git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git hlp_vsie https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git/log/?h=hlp_vsie v9: * Added migration skey fault handling * s/vaddr/vmaddr/ on fault handling patch * Added some missed review * Fixed authorship for Dominik's patches v8: * Fixed skey emulation pmd fault handling * Improved skey clearing for new pmds v7: * Fixed locking between notification and gmap_idte * Dirty log rework v6: * Added clearing of storage keys for newly mapped pmds * Split enablement in gmap and kvm part * Removed some rebase errors * Integrated changes proposed onlist v5: * Removed pmd splitting and userspace protection * Split up bigger patches * Cleanups V4: * Split up vSIE patches * Added hpage module parameter disabling vSIE when set. * Added HPAGE capability that has to be enabled for huge guests V3: * Moved splitting to the front. * Cleanups V2: * Incorporated changes from David's cleanup * Now flushing with IDTE_NODAT for protection transfers. * Added RRBE huge page handling for g2 -> g3 skey emulation * Added documentation for capability * Renamed GMAP_ENTRY_* constants * Added SEGMENT hardware bits constants * Improved some patch descriptions * General small improvements * Introduced pte_from_pmd function Dominik Dingel (2): s390/mm: Clear huge page storage keys on enable_skey s390/mm: hugetlb pages within a gmap can not be freed Janosch Frank (11): s390/mm: Make gmap_protect_range more modular s390/mm: Abstract gmap notify bit setting s390/mm: Add gmap pmd linking s390/mm: Add gmap pmd notification bit setting s390/mm: Add gmap pmd invalidation and clearing s390/mm: Add huge page dirty sync support s390/mm: Clear skeys for newly mapped huge guest pmds s390/mm: Add huge pmd storage key handling KVM: s390: Add skey emulation fault handling s390/mm: Add huge page gmap linking support KVM: s390: Add huge page enablement control Documentation/virtual/kvm/api.txt | 16 ++ arch/s390/include/asm/gmap.h | 10 + arch/s390/include/asm/hugetlb.h | 5 +- arch/s390/include/asm/mmu.h | 2 + arch/s390/include/asm/mmu_context.h | 1 + arch/s390/include/asm/pgtable.h | 13 +- arch/s390/kvm/kvm-s390.c | 82 ++++++- arch/s390/kvm/priv.c | 105 ++++++--- arch/s390/mm/gmap.c | 455 ++++++++++++++++++++++++++++++++++-- arch/s390/mm/hugetlbpage.c | 24 ++ arch/s390/mm/pageattr.c | 6 +- arch/s390/mm/pgtable.c | 142 +++++++---- include/uapi/linux/kvm.h | 1 + 13 files changed, 741 insertions(+), 121 deletions(-) -- 2.14.3