riscv: Fix set_huge_pte_at() for NAPOT mapping
[platform/kernel/linux-starfive.git] / arch / riscv / mm / init.c
index e71dd19..b50faa2 100644 (file)
@@ -1502,6 +1502,10 @@ void __init misc_mem_init(void)
        early_memtest(min_low_pfn << PAGE_SHIFT, max_low_pfn << PAGE_SHIFT);
        arch_numa_init();
        sparse_init();
+#ifdef CONFIG_SPARSEMEM_VMEMMAP
+       /* The entire VMEMMAP region has been populated. Flush TLB for this region */
+       local_flush_tlb_kernel_range(VMEMMAP_START, VMEMMAP_END);
+#endif
        zone_sizes_init();
        reserve_crashkernel();
        memblock_dump_all();