[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AW: Colibri imx8qxp: Missing kernel boot module





On 01/09/2020 15:16, Daniel Wagner2 wrote:
Hello,

Hi Daniel,

On 22/08/2020 13:00, Daniel Wagner2 wrote:
On 10/08/2020 16:32, Daniel Wagner2 wrote:
I am not entirely sure why yet. Do you mind to enable earlyprintk for your
platform? With that you should be able to get more information about the
list of modules discovered.

I didn't manage to enable earlyprintk.
But I enabled kconfig "Developer Checks": "Verbose debug messages" and
"Devicetree debug messages" and put some extra printks in the Xen Source and
was able to locate the problem.

When parsing the fdt, the memory@80000000 node throws an error, which stops
the parsing before the /chosen node was found and so no kernel boot module
was found for dom0.

I bypassed this by putting the /chosen node at the top of the fdt, so that
module@0 gets parsed before the functions arrives at the memory node. After
this change, Dom0 was successfully booted by Xen.

I have created a pastebin https://pastebin.com/JBjKNvPP for future
reference.
At pastebin line 215 Xen already found the kernel boot module.
So I put
"boot_fdt_info(device_tree_flattened, fdt_paddr);"
in start_xen (arch/arm/setup.c) after the
"console_init_postirq();"
call, so tha the function is run a second time, but this time the outputs
are shown in the bootlog (starting pastebin l. 247).
Starting at pastebin line 337, parser arrives at memory node.
Line 349 is what is specified in the fdt (which I copy here for reference)

memory@80000000 {
        device_type = "memory";
        reg = <0x00000000 0x80000000 0 0x40000000>;
};

The first bank found (l. 349) is the one from the fdt node. I am not sure
where the second bank (l. 350) comes from. The the second bank's size=0 ist
what causes the parse to fail and will Xen prevent from finding the boot
kernel for dom0 if the /chosen node comes after the memory node in the fdt.

Thank you for digging through the problem. I find a bit odd that Xen discover a second bank. It might be possible we don't parse the Device-Tree correctly.

I wasn't able to find the node in the device-tree you provided in the initial e-mail. Would you mind to post the full device-tree?

Cheers,

--
Julien Grall



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.