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

From: Kirill A. Shutemov
Date: Tue Jan 23 2018 - 12:19:39 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.

v2:
- Rebased to up-to-date tip

Kirill A. Shutemov (3):
x86/mm/encrypt: Move sme_populate_pgd*() 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 | 13 +--
arch/x86/mm/mem_encrypt.c | 171 +++----------------------------------
arch/x86/mm/mem_encrypt_identity.c | 118 +++++++++++++++++++++++++
arch/x86/mm/mm_internal.h | 14 +++
4 files changed, 152 insertions(+), 164 deletions(-)
create mode 100644 arch/x86/mm/mem_encrypt_identity.c

--
2.15.1