Re: [PATCH v2 0/2] of: populate of_root_node if not set (alternate)

From: Clément Léger
Date: Thu Feb 23 2023 - 05:39:42 EST


Le Wed, 22 Feb 2023 16:10:49 -0600,
Frank Rowand <frowand.list@xxxxxxxxx> a écrit :

> This series is a different implementation to achieve the goals of
> https://lore.kernel.org/r/20220623105044.152832-1-clement.leger@xxxxxxxxxxx
>
> In order to apply overlays or create new nodes under the root node, the
> kernel expects of_root to be set. On some system where a device-tree was
> not provided by firmware (x86 for instance) if CONFIG_OF is enabled,
> then we will end up with a null of_root. This series adds support to
> create this root node using a builtin dtb and removes the manual
> creation of the root node done in unittests.c.

Hi Frank, I'm currently testing your series and I encountered some
crashes at boot. Looks like it comes from the
early_init_dt_alloc_memory_arch() that calls panic. Maybe the memblock
allocator is not ready yet. Please note that I'm testing it on a x86
kernel. I'll investigate that.

Regarding the series itself it seems ok to me.

Thanks,

Clément

>
> Changes since version 1: (patch 1/2)
> - refresh for 6.2-rc1
> - update Signed-off-by
> - fix typo in of_fdt.h: s/of_setup/setup_of
> - unflatten_device_tree(): validate size in header field dtb_empty_root
> that will be used to copy dtb_empty_root
> - add Kconfig option to manually select CONFIG_OF_EARLY_FLATTREE
>
> Changes since version 1: (patch 2/2)
> - refresh for 6.2-rc1
> - update Signed-off-by
> - fix formatting error (leading space) in patch comment
>
> Frank Rowand (2):
> of: create of_root if no dtb provided
> of: unittest: treat missing of_root as error instead of fixing up
>
> drivers/of/Kconfig | 7 ++++++-
> drivers/of/Makefile | 2 +-
> drivers/of/empty_root.dts | 6 ++++++
> drivers/of/fdt.c | 27 ++++++++++++++++++++++++++-
> drivers/of/unittest.c | 16 ++++++----------
> include/linux/of_fdt.h | 2 ++
> init/main.c | 2 ++
> 7 files changed, 49 insertions(+), 13 deletions(-)
> create mode 100644 drivers/of/empty_root.dts
>



--
Clément Léger,
Embedded Linux and Kernel engineer at Bootlin
https://bootlin.com