riscv: Enable HAVE_ARCH_HUGE_VMAP for 64BIT
authorLiu Shixin <liushixin2@huawei.com>
Wed, 12 Oct 2022 12:00:37 +0000 (20:00 +0800)
committerPalmer Dabbelt <palmer@rivosinc.com>
Sat, 29 Oct 2022 00:10:01 +0000 (17:10 -0700)
commit310f541a027b1d5dc68f44f176cde618e6ee9691
treef6c172cc923df0bbea5acaf6de24829448ce1bb2
parent3558927fc2b2fd0af309648f4071035e08719866
riscv: Enable HAVE_ARCH_HUGE_VMAP for 64BIT

This sets the HAVE_ARCH_HUGE_VMAP option, and defines the required page
table functions. With this feature, ioremap area will be mapped with
huge page granularity according to its actual size. This feature can be
disabled by kernel parameter "nohugeiomap".

Signed-off-by: Liu Shixin <liushixin2@huawei.com>
Reviewed-by: Björn Töpel <bjorn@kernel.org>
Tested-by: Björn Töpel <bjorn@kernel.org>
Link: https://lore.kernel.org/r/20221012120038.1034354-2-liushixin2@huawei.com
[Palmer: minor formatting]
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Documentation/features/vm/huge-vmap/arch-support.txt
arch/riscv/Kconfig
arch/riscv/include/asm/vmalloc.h
arch/riscv/mm/Makefile
arch/riscv/mm/pgtable.c [new file with mode: 0644]