Le 14/08/2023 à 19:27, Erhard Furtner a écrit : > On Mon, 14 Aug 2023 09:40:44 +0000 > Christophe Leroy <christophe.le...@csgroup.eu> wrote: > >> Interesting. That means we get stuck somewhere around MMU_init() >> >> We know that MMU_init_hw() is called and runs at least until: >> >> pr_info("Total memory = %lldMB; using %ldkB for hash table\n", >> (unsigned long long)(total_memory >> 20), Hash_size >> 10); >> >> But we never reach the print in setup_kuap() which is itself called by >> set_kup(): >> pr_info("Activating Kernel Userspace Access Protection\n"); >> >> >> Could you try to narrow more the issue by spreading pr_info() at places >> in the code below and/or the called functions ? Either we never come >> back from MMU_init_hw(), or one of mapin_ram() btext_unmap() >> kasan_mmu_init() fails. >> >> So the piece of code we are interested in is located in >> arch/powerpc/mm/init_32.c and is: >> >> /* Initialize the MMU hardware */ >> if (ppc_md.progress) >> ppc_md.progress("MMU:hw init", 0x300); >> ==> MMU_init_hw(); >> >> /* Map in all of RAM starting at KERNELBASE */ >> if (ppc_md.progress) >> ppc_md.progress("MMU:mapin", 0x301); >> mapin_ram(); >> >> /* Initialize early top-down ioremap allocator */ >> ioremap_bot = IOREMAP_TOP; >> >> if (ppc_md.progress) >> ppc_md.progress("MMU:exit", 0x211); >> >> /* From now on, btext is no longer BAT mapped if it was at all */ >> #ifdef CONFIG_BOOTX_TEXT >> btext_unmap(); >> #endif >> >> kasan_mmu_init(); >> >> ==> setup_kup(); > > I added a pr_info(); right after MMU_init_hw(); and another one right after > setup_kup();. > > Output of PPC_EARLY_DEBUG changes so that I get an additional black blank > line after > [ 0.000000] printk: bootconsole [udbg0] enabled > [ 0.000000] Total memory = 2048MB; using 4096kB for hash table > > and the freeze afterwards. So it looks like we return from MMU_init_hw() but > not from setup_kup().
I just sent a patch with additional pr_info() in order to help locate the issue, please provide output with that patch. Thanks Christophe