• Ard Biesheuvel's avatar
    x86: Make ARCH_USE_MEMREMAP_PROT a generic Kconfig symbol · ce9084ba
    Ard Biesheuvel authored
    Turn ARCH_USE_MEMREMAP_PROT into a generic Kconfig symbol, and fix the
    dependency expression to reflect that AMD_MEM_ENCRYPT depends on it,
    instead of the other way around. This will permit ARCH_USE_MEMREMAP_PROT
    to be selected by other architectures.
    
    Note that the encryption related early memremap routines in
    arch/x86/mm/ioremap.c cannot be built for 32-bit x86 without triggering
    the following warning:
    
         arch/x86//mm/ioremap.c: In function 'early_memremap_encrypted':
      >> arch/x86/include/asm/pgtable_types.h:193:27: warning: conversion from
                         'long long unsigned int' to 'long unsigned int' changes
                         value from '9223372036854776163' to '355' [-Woverflow]
          #define __PAGE_KERNEL_ENC (__PAGE_KERNEL | _PAGE_ENC)
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
         arch/x86//mm/ioremap.c:713:46: note: in expansion of macro '__PAGE_KERNEL_ENC'
           return early_memremap_prot(phys_addr, size, __PAGE_KERNEL_ENC);
    
    which essentially means they are 64-bit only anyway. However, we cannot
    make them dependent on CONFIG_ARCH_HAS_MEM_ENCRYPT, since that is always
    defined, even for i386 (and changing that results in a slew of build errors)
    
    So instead, build those routines only if CONFIG_AMD_MEM_ENCRYPT is
    defined.
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: AKASHI Takahiro <takahiro.akashi@linaro.org>
    Cc: Alexander Graf <agraf@suse.de>
    Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
    Cc: Jeffrey Hugo <jhugo@codeaurora.org>
    Cc: Lee Jones <lee.jones@linaro.org>
    Cc: Leif Lindholm <leif.lindholm@linaro.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Matt Fleming <matt@codeblueprint.co.uk>
    Cc: Peter Jones <pjones@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-efi@vger.kernel.org
    Link: http://lkml.kernel.org/r/20190202094119.13230-9-ard.biesheuvel@linaro.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    ce9084ba
ioremap.c 22.2 KB