x86/mm: Decouple dynamic __PHYSICAL_MASK from AMD SME
AMD SME claims one bit from physical address to indicate whether the page is encrypted or not. To achieve that we clear out the bit from __PHYSICAL_MASK. The capability to adjust __PHYSICAL_MASK is required beyond AMD SME. For instance for upcoming Intel Multi-Key Total Memory Encryption. Factor it out into a separate feature with own Kconfig handle. It also helps with overhead of AMD SME. It saves more than 3k in .text on defconfig + AMD_MEM_ENCRYPT: add/remove: 3/2 grow/shrink: 5/110 up/down: 189/-3753 (-3564) We would need to return to this once we have infrastructure to patch constants in code. That's good candidate for it. Signed-off-by:Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by:
Thomas Gleixner <tglx@linutronix.de> Reviewed-by:
Tom Lendacky <thomas.lendacky@amd.com> Cc: linux-mm@kvack.org Cc: "H. Peter Anvin" <hpa@zytor.com> Link: https://lkml.kernel.org/r/20180518113028.79825-1-kirill.shutemov@linux.intel.com
Showing
- arch/x86/Kconfig 4 additions, 0 deletionsarch/x86/Kconfig
- arch/x86/boot/compressed/kaslr_64.c 5 additions, 0 deletionsarch/x86/boot/compressed/kaslr_64.c
- arch/x86/include/asm/page_types.h 7 additions, 1 deletionarch/x86/include/asm/page_types.h
- arch/x86/mm/mem_encrypt_identity.c 3 additions, 0 deletionsarch/x86/mm/mem_encrypt_identity.c
- arch/x86/mm/pgtable.c 5 additions, 0 deletionsarch/x86/mm/pgtable.c
Please register or sign in to comment