On Tue, 2021-01-05 at 11:11 +0800, Bin Meng wrote: > On Fri, Dec 18, 2020 at 5:48 AM Atish Patra <atish.pa...@wdc.com> > wrote: > > > > Currently, we place the DTB at 2MB from 4GB or end of DRAM which > > ever is > > lesser. However, Linux kernel can address only 1GB of memory for > > RV32. > > Thus, it can not map anything beyond 3GB (assuming 2GB is the > > starting address). > > As a result, it can not process DT and panic if opensbi dynamic > > firmware > > is used. > > > > Fix this by placing the DTB at 2MB from 3GB or end of DRAM > > whichever is lower. > > > > Fixes: 66b1205bc5ab ("RISC-V: Copy the fdt in dram instead of ROM") >
Just to clarify, it is not a bug in the original patch. This bug appeared in recent kernel because kernel(from v5.10) doesn't use fixmap for DT processing anymore. Thus, the DT has to be placed at location that can be addressed by kernel. I will add the fixes tag. > > Signed-off-by: Atish Patra <atish.pa...@wdc.com> > > --- > > hw/riscv/boot.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > Reviewed-by: Bin Meng <bin.m...@windriver.com> > Tested-by: Bin Meng <bin.m...@windriver.com> Thanks. -- Regards, Atish