[PATCHv3 0/3] x86/mm/encrypt: Cleanup and switching between paging modes

From: Kirill A. Shutemov
Date: Wed Jan 24 2018 - 11:36:41 EST


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