Hi Atish, 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 [ 0.000000] Oops [#1] [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.11.0-orangecrab-00023-g7c4fc8e3e982 #129 [ 0.000000] epc: c04d6624 ra : c04d6524 sp : c05ddf70 [ 0.000000] gp : c0678bc0 tp : c05e5b40 t0 : c8000000 [ 0.000000] t1 : 00030000 t2 : ffffffff s0 : c05ddfc0 [ 0.000000] s1 : c8000000 a0 : 00000000 a1 : c7ffffe0 [ 0.000000] a2 : 00000005 a3 : 00000001 a4 : 0000000c [ 0.000000] a5 : 00000000 a6 : c04fe000 a7 : 0000000c [ 0.000000] s2 : c04fe098 s3 : 000000a0 s4 : c7ffff60 [ 0.000000] s5 : c04fe0dc s6 : 80000200 s7 : c059f19c [ 0.000000] s8 : 81000200 s9 : c059f1b8 s10: 80000200 [ 0.000000] s11: c059f19c t3 : 405dba80 t4 : c05e6f08 [ 0.000000] t5 : 81000200 t6 : 40501000 [ 0.000000] status: 00000100 badaddr: c8000008 cause: 0000000f [ 0.000000] random: get_random_bytes called from print_oops_end_marker+0x38/0x7c with crng_init=0 [ 0.000000] ---[ end trace 0000000000000000 ]--- [ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task! 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 [ 29.158523] Oops [#1] [ 29.162232] CPU: 0 PID: 1 Comm: swapper Not tainted 5.11.0-orangecrab-00023-g7c4fc8e3e982-dirty #132 [ 29.171970] epc: c000d3b0 ra : c000eb74 sp : c182dca0 [ 29.178786] gp : c067aee0 tp : c1830000 t0 : c18d75e0 [ 29.185935] t1 : 00030000 t2 : 00000000 s0 : c182dcb0 [ 29.193028] s1 : 00000000 a0 : c05eab14 a1 : c18d75c0 [ 29.200067] a2 : c7ffe384 a3 : 69726573 a4 : f000000b [ 29.207095] a5 : f0000000 a6 : c7fffff8 a7 : 00000000 [ 29.214141] s2 : 01001f00 s3 : c05eb000 s4 : c067c000 [ 29.221171] s5 : c000ec0c s6 : 80000000 s7 : c05eaad4 [ 29.228200] s8 : c05eab58 s9 : c05a1000 s10: c18d75c0 [ 29.235238] s11: c05eab14 t3 : 20b9a6cc t4 : 00000001 [ 29.242277] t5 : 00000000 t6 : c188cd50 [ 29.247588] status: 00000120 badaddr: 69726573 cause: 0000000d [ 29.274424] ---[ end trace 69dee1b9ca96f1d6 ]--- [ 29.282859] note: swapper[1] exited with preempt_count 1 [ 29.293156] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [1] https://lore.kernel.org/linux-riscv/20210111234504.3782179-4-atish.patra@xxxxxxx/ Will have a deeper look later... Thanks for any suggestions! 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