]> git.baikalelectronics.ru Git - kernel.git/commit
mm: HUGE_VMAP arch support cleanup
authorNicholas Piggin <npiggin@gmail.com>
Fri, 30 Apr 2021 05:58:26 +0000 (22:58 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 30 Apr 2021 18:20:40 +0000 (11:20 -0700)
commitbdb1083f5d6b442870c41a1dc9aa569beb172822
tree386f4b3660b5924424a6d36689c3eb3c773588fc
parentde6bc9606b35ff7b2fd064cccbacadf61449a1ea
mm: HUGE_VMAP arch support cleanup

This changes the awkward approach where architectures provide init
functions to determine which levels they can provide large mappings for,
to one where the arch is queried for each call.

This removes code and indirection, and allows constant-folding of dead
code for unsupported levels.

This also adds a prot argument to the arch query.  This is unused
currently but could help with some architectures (e.g., some powerpc
processors can't map uncacheable memory with large pages).

Link: https://lkml.kernel.org/r/20210317062402.533919-7-npiggin@gmail.com
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Ding Tianhong <dingtianhong@huawei.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com> [arm64]
Cc: Will Deacon <will@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Miaohe Lin <linmiaohe@huawei.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Uladzislau Rezki (Sony) <urezki@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/arm64/include/asm/vmalloc.h
arch/arm64/mm/mmu.c
arch/powerpc/include/asm/vmalloc.h
arch/powerpc/mm/book3s64/radix_pgtable.c
arch/x86/include/asm/vmalloc.h
arch/x86/mm/ioremap.c
include/linux/io.h
include/linux/vmalloc.h
init/main.c
mm/debug_vm_pgtable.c
mm/ioremap.c