x86/ioremap: Selectively build arch override encryption functions
authorTom Lendacky <thomas.lendacky@amd.com>
Wed, 8 Sep 2021 22:58:32 +0000 (17:58 -0500)
committerBorislav Petkov <bp@suse.de>
Mon, 4 Oct 2021 09:45:49 +0000 (11:45 +0200)
commit402fe0cb71032c4bc931ac70a6b024408e09f817
tree2a6a8c837b6a47876cbc14c4882b207e409f2668
parent9e1ff307c779ce1f0f810c7ecce3d95bbae40896
x86/ioremap: Selectively build arch override encryption functions

In preparation for other uses of the cc_platform_has() function
besides AMD's memory encryption support, selectively build the
AMD memory encryption architecture override functions only when
CONFIG_AMD_MEM_ENCRYPT=y. These functions are:

- early_memremap_pgprot_adjust()
- arch_memremap_can_ram_remap()

Additionally, routines that are only invoked by these architecture
override functions can also be conditionally built. These functions are:

- memremap_should_map_decrypted()
- memremap_is_efi_data()
- memremap_is_setup_data()
- early_memremap_is_setup_data()

And finally, phys_mem_access_encrypted() is conditionally built as well,
but requires a static inline version of it when CONFIG_AMD_MEM_ENCRYPT is
not set.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20210928191009.32551-2-bp@alien8.de
arch/x86/include/asm/io.h
arch/x86/mm/ioremap.c