arm64: Force SPARSEMEM_VMEMMAP as the only memory management model
authorCatalin Marinas <catalin.marinas@arm.com>
Tue, 20 Apr 2021 09:35:59 +0000 (10:35 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 23 Apr 2021 13:18:21 +0000 (14:18 +0100)
commit782276b4d0ad2fdd7096f8177bb7a9827f5258e4
treefc93c1b35be976250e3c925a5bcf97ffb42fd49e
parentef94340583eec5cb1544dc41a87baa4f684b3fe1
arm64: Force SPARSEMEM_VMEMMAP as the only memory management model

Currently arm64 allows a choice of FLATMEM, SPARSEMEM and
SPARSEMEM_VMEMMAP. However, only the latter is tested regularly. FLATMEM
does not seem to boot in certain configurations (guest under KVM with
Qemu as a VMM). Since the reduction of the SECTION_SIZE_BITS to 27 (4K
pages) or 29 (64K page), there's little argument against the memory
wasted by the mem_map array with SPARSEMEM.

Make SPARSEMEM_VMEMMAP the only available option, non-selectable, and
remove the corresponding #ifdefs under arch/arm64/.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Link: https://lore.kernel.org/r/20210420093559.23168-1-catalin.marinas@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/Kconfig
arch/arm64/include/asm/kernel-pgtable.h
arch/arm64/include/asm/memory.h
arch/arm64/include/asm/sparsemem.h
arch/arm64/mm/init.c
arch/arm64/mm/mmu.c
arch/arm64/mm/ptdump.c