linux/arch
Nicholas Piggin bbc180a5ad 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>
2021-04-30 11:20:40 -07:00
..
alpha Kbuild updates for v5.13 2021-04-29 14:24:39 -07:00
arc
arm ARM: mm: add missing pud_page define to 2-level page tables 2021-04-30 11:20:39 -07:00
arm64 mm: HUGE_VMAP arch support cleanup 2021-04-30 11:20:40 -07:00
csky mm: move page_mapping_file to pagemap.h 2021-04-30 11:20:37 -07:00
h8300
hexagon
ia64 ia64: module: fix symbolizer crash on fdescr 2021-04-30 11:20:35 -07:00
m68k \n 2021-04-29 10:51:29 -07:00
microblaze Microblaze patches for 5.13-rc1 2021-04-29 11:36:47 -07:00
mips mm: move page_mapping_file to pagemap.h 2021-04-30 11:20:37 -07:00
nds32 nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff 2021-04-09 14:54:23 -07:00
nios2 mm: move page_mapping_file to pagemap.h 2021-04-30 11:20:37 -07:00
openrisc
parisc \n 2021-04-29 10:51:29 -07:00
powerpc mm: HUGE_VMAP arch support cleanup 2021-04-30 11:20:40 -07:00
riscv riscv: keep interrupts disabled for BREAKPOINT exception 2021-04-15 21:32:40 -07:00
s390 Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
sh mm: move page_mapping_file to pagemap.h 2021-04-30 11:20:37 -07:00
sparc mm/vmalloc: fix HUGE_VMAP regression by enabling huge pages in vmalloc_to_page 2021-04-30 11:20:39 -07:00
um printk changes for 5.13 2021-04-27 18:09:44 -07:00
x86 mm: HUGE_VMAP arch support cleanup 2021-04-30 11:20:40 -07:00
xtensa mm/memtest: add ARCH_USE_MEMTEST 2021-04-30 11:20:36 -07:00
.gitignore
Kconfig Kbuild updates for v5.13 2021-04-29 14:24:39 -07:00