Commit 8ba1a8b7 authored by Kefeng Wang's avatar Kefeng Wang Committed by Palmer Dabbelt

riscv: Support allocating gigantic hugepages using CMA

This patch adds support to allocate gigantic hugepages using CMA by
specifying the hugetlb_cma= kernel parameter.  This is only supported on
RV64.
Reviewed-by: default avatarAlexandre Ghiti <alex@ghiti.fr>
Signed-off-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
parent fb31f0a4
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include <linux/set_memory.h> #include <linux/set_memory.h>
#include <linux/dma-map-ops.h> #include <linux/dma-map-ops.h>
#include <linux/crash_dump.h> #include <linux/crash_dump.h>
#include <linux/hugetlb.h>
#include <asm/fixmap.h> #include <asm/fixmap.h>
#include <asm/tlbflush.h> #include <asm/tlbflush.h>
...@@ -202,6 +203,8 @@ static void __init setup_bootmem(void) ...@@ -202,6 +203,8 @@ static void __init setup_bootmem(void)
early_init_fdt_scan_reserved_mem(); early_init_fdt_scan_reserved_mem();
dma_contiguous_reserve(dma32_phys_limit); dma_contiguous_reserve(dma32_phys_limit);
if (IS_ENABLED(CONFIG_64BIT))
hugetlb_cma_reserve(PUD_SHIFT - PAGE_SHIFT);
memblock_allow_resize(); memblock_allow_resize();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment