Thread (7 messages) 7 messages, 2 authors, 2025-11-22

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help