This patcheset is a preparation set for boot-time switching between paging modes. Please review and consider applying.
Code around sme_populate_pgd() is unnecessary complex and hard to modify. This patchset rewrites it in more stream-lined way to add support of boot-time switching between paging modes. I haven't tested the patchset on hardware capable of memory encryption. v3: - Move all page table related functions into mem_encrypt_identity.c v2: - Rebased to up-to-date tip Kirill A. Shutemov (3): x86/mm/encrypt: Move page table helpers into separate translation unit x86/mm/encrypt: Rewrite sme_populate_pgd() and sme_populate_pgd_large() x86/mm/encrypt: Rewrite sme_pgtable_calc() arch/x86/mm/Makefile | 14 +- arch/x86/mm/mem_encrypt.c | 578 +------------------------------------ arch/x86/mm/mem_encrypt_identity.c | 563 ++++++++++++++++++++++++++++++++++++ arch/x86/mm/mm_internal.h | 1 + 4 files changed, 574 insertions(+), 582 deletions(-) create mode 100644 arch/x86/mm/mem_encrypt_identity.c -- 2.15.1