diff options
Diffstat (limited to 'arch/riscv/mm/init.c')
| -rw-r--r-- | arch/riscv/mm/init.c | 12 | 
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index 42bf939693d3..f0ba71304b6e 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -435,13 +435,23 @@ static void __init setup_vm_final(void)  	clear_fixmap(FIX_PMD);  	/* Move to swapper page table */ -	csr_write(sptbr, PFN_DOWN(__pa(swapper_pg_dir)) | SATP_MODE); +	csr_write(CSR_SATP, PFN_DOWN(__pa(swapper_pg_dir)) | SATP_MODE);  	local_flush_tlb_all();  }  void __init paging_init(void)  {  	setup_vm_final(); +	memblocks_present(); +	sparse_init();  	setup_zero_page();  	zone_sizes_init();  } + +#ifdef CONFIG_SPARSEMEM +int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node, +			       struct vmem_altmap *altmap) +{ +	return vmemmap_populate_basepages(start, end, node); +} +#endif  |