On 2021/01/12 6:21, Vitaly Wool wrote: > Provide __dtb_start as a parameter to setup_vm() in case > CONFIG_BUILTIN_DTB is true, so we don't have to duplicate > BUILTIN_DTB specific processing in MMU-enabled and MMU-disabled > versions of setup_vm(). > > Signed-off-by: Vitaly Wool <vitaly.wool@xxxxxxxxxxxx> > --- > arch/riscv/kernel/head.S | 4 ++++ > arch/riscv/mm/init.c | 4 ---- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/riscv/kernel/head.S b/arch/riscv/kernel/head.S > index 16e9941900c4..f5a9bad86e58 100644 > --- a/arch/riscv/kernel/head.S > +++ b/arch/riscv/kernel/head.S > @@ -260,7 +260,11 @@ clear_bss_done: > > /* Initialize page tables and relocate to virtual addresses */ > la sp, init_thread_union + THREAD_SIZE > +#ifdef CONFIG_BUILTIN_DTB > + la a0, __dtb_start > +#else > mv a0, s1 > +#endif /* CONFIG_BUILTIN_DTB */ > call setup_vm > #ifdef CONFIG_MMU > la a0, early_pg_dir > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c > index 5b17f8d22f91..45faad7c4291 100644 > --- a/arch/riscv/mm/init.c > +++ b/arch/riscv/mm/init.c > @@ -615,11 +615,7 @@ static void __init setup_vm_final(void) > #else > asmlinkage void __init setup_vm(uintptr_t dtb_pa) > { > -#ifdef CONFIG_BUILTIN_DTB > - dtb_early_va = (void *) __dtb_start; > -#else > dtb_early_va = (void *)dtb_pa; > -#endif > dtb_early_pa = dtb_pa; > } > > Tested this with a nommu kernel on a MAIX bit board (K210 SoC). No problems detected. Tested-by: Damien Le Moal <damien.lemoal@xxxxxxx> -- Damien Le Moal Western Digital Research