riscv: Separate memory init from paging init
[ Upstream commit cbd34f4bb37d62d8a027f54205bff07e73340da4 ] Currently, we perform some memory init functions in paging init. But, that will be an issue for NUMA support where DT needs to be flattened before numa initialization and memblock_present can only be called after numa initialization. Move memory initialization related functions to a separate function. Signed-off-by: Atish Patra <atish.patra@wdc.com> Reviewed-by: Greentime Hu <greentime.hu@sifive.com> Reviewed-by: Anup Patel <anup@brainfault.org> Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com> Stable-dep-of: 50e63dd8ed92 ("riscv: fix reserved memory setup") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
d7716240bc
commit
0cf9cb0614
@@ -470,6 +470,7 @@ extern void *dtb_early_va;
|
|||||||
extern uintptr_t dtb_early_pa;
|
extern uintptr_t dtb_early_pa;
|
||||||
void setup_bootmem(void);
|
void setup_bootmem(void);
|
||||||
void paging_init(void);
|
void paging_init(void);
|
||||||
|
void misc_mem_init(void);
|
||||||
|
|
||||||
#define FIRST_USER_ADDRESS 0
|
#define FIRST_USER_ADDRESS 0
|
||||||
|
|
||||||
|
@@ -96,6 +96,7 @@ void __init setup_arch(char **cmdline_p)
|
|||||||
else
|
else
|
||||||
pr_err("No DTB found in kernel mappings\n");
|
pr_err("No DTB found in kernel mappings\n");
|
||||||
#endif
|
#endif
|
||||||
|
misc_mem_init();
|
||||||
|
|
||||||
#ifdef CONFIG_SWIOTLB
|
#ifdef CONFIG_SWIOTLB
|
||||||
swiotlb_init(1);
|
swiotlb_init(1);
|
||||||
|
@@ -669,8 +669,12 @@ static void __init resource_init(void)
|
|||||||
void __init paging_init(void)
|
void __init paging_init(void)
|
||||||
{
|
{
|
||||||
setup_vm_final();
|
setup_vm_final();
|
||||||
sparse_init();
|
|
||||||
setup_zero_page();
|
setup_zero_page();
|
||||||
|
}
|
||||||
|
|
||||||
|
void __init misc_mem_init(void)
|
||||||
|
{
|
||||||
|
sparse_init();
|
||||||
zone_sizes_init();
|
zone_sizes_init();
|
||||||
resource_init();
|
resource_init();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user