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. I wanted to get this version out there, to show what's currently holding us back. It's not yet completely tested. While fixing the author email to remove the vnet part, I seem to have changed the ownership of Dominick's patches to me, gonna fix that in the next 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 v8: * Fixed skey emulation pmd fault handling * Improved skey clearing for new pmds * Rebase fixups 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 Janosch Frank (13): 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 huge page storage keys on enable_skey 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: hugetlb pages within a gmap can not be freed 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/mmu.h | 2 + arch/s390/include/asm/mmu_context.h | 1 + arch/s390/include/asm/pgtable.h | 13 +- arch/s390/kvm/kvm-s390.c | 66 +++++- 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 | 140 +++++++---- include/uapi/linux/kvm.h | 1 + 12 files changed, 723 insertions(+), 116 deletions(-) -- 2.14.3