Re: [Help] Microwatt (Zynqwatt) — Kernel halts after Radix MMU init on booting Linux on Zynq version of Microwatt
From: Mohammad Amin Nili <hidden>
Date: 2025-11-13 22:32:41
Hi Oliver, Thanks a lot for your time and the answer.
Right, you turn on the MMU and the next time printk() is called the console driver tries to write to 0xFF00_0000. That's not a valid virtual address so it explodes. To make an address usable in both real mode (i.e. pre-mmu) and virtual mode you need to have the page tables setup so that virtual address maps to the same physical address. Setting up that mapping is what early_ioremap() does. That's why there's a warning telling you to use it. Based on the in-tree DTS files earlycon doesn't seem to be used on any powerpc systems. My guess would be that most ppc platform use udbg (very old, powerpc specific thing) rather than earlycon for this kind of super-early debug output. Considering you're getting console output via udbg I'd say just removing earlycon from your kernel command line will probably fix your issue.
Well, I disabled all the early logs (now bootargs = “” in dts) and modified .config so that no earlycon.c gets compiled at all. The followings are the only compiled files within the `/derivers/tty/serial`: serial_base_bus.o, serial_core.o, serial_ctrl.o, serial_port.o, xilinx_uartps.o Now, I get no outputs during booting procedure which sounds normal, I guess. But still no luck getting to the rootfs or anywhere which actually initializes the `xilinx_uartps` driver and print something. Also please check shenki’s blogpost’s logs, if you have enough time: https://shenki.github.io/boot-linux-on-microwatt <https://shenki.github.io/boot-linux-on-microwatt> Based on the blog post, I think there should be no problem to get the early booting logs. Bests, Manili