Hi Atish, On Wed, Mar 10, 2021 at 5:41 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > On Thu, Nov 19, 2020 at 1:40 AM Atish Patra <atish.patra@xxxxxxx> wrote: > > 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@xxxxxxx> > > Reviewed-by: Greentime Hu <greentime.hu@xxxxxxxxxx> > > Reviewed-by: Anup Patel <anup@xxxxxxxxxxxxxx> > > Reviewed-by: Palmer Dabbelt <palmerdabbelt@xxxxxxxxxx> > > This is now commit cbd34f4bb37d62d8 in v5.12-rc1, breaking the boot on > Vexriscv: > > [ 0.000000] earlycon: sbi0 at I/O port 0x0 (options '') > [ 0.000000] printk: bootconsole [sbi0] enabled > [ 0.000000] printk: debug: ignoring loglevel setting. > [ 0.000000] Initial ramdisk at: 0x(ptrval) (8388608 bytes) > [ 0.000000] Unable to handle kernel paging request at virtual > address c8000008 > Note that I have "[PATCH v2 3/4] RISC-V: Fix L1_CACHE_BYTES for RV32"[1] > applied, to avoid another crash (7c4fc8e3e982 = v5.11 + [1] + > cherry-picked commits from the riscv-for-linus-5.12-mw0 pull request). > > If I revert the L1_CACHE_BYTES change, the boot continues, but I'm back > to the old issue fixed by [1]: > > [ 22.126687] Freeing initrd memory: 8192K > [ 22.321811] workingset: timestamp_bits=30 max_order=15 bucket_order=0 > [ 29.001509] Block layer SCSI generic (bsg) driver version 0.4 > loaded (major 253) > [ 29.021555] io scheduler mq-deadline registered > [ 29.033692] io scheduler kyber registered > [ 29.141294] Unable to handle kernel paging request at virtual > address 69726573 > Will have a deeper look later... I found the core issue, and sent a fix: "[PATCH] RISC-V: Fix out-of-bounds accesses in init_resources()" https://lore.kernel.org/linux-riscv/20210312154634.3541844-1-geert@xxxxxxxxxxxxxx/ It works now with either value of L1_CACHE_SHIFT, so patch "[PATCH v2 3/4] RISC-V: Fix L1_CACHE_BYTES for RV32" is no longer needed. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds