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. Changes since version 3: (all) - also tested on UML (previously only tested on arm) Changes since version 3: (patch 1/2) - refresh for 6.3-rc1 - unflatten_device_tree() - calculate of_fdt_crc32 if setting initial_boot_params to __dtb_empty_root_begin so CRC check in of_fdt_raw_init() will not fail Changes since version 3: (patch 2/2) - refresh for 6.3-rc1 - remove the CONFIG_UML case of populating the devicetree - unittest_data_add() - move an EXPECT_BEGIN() to after an error check that can result in an early return Changes since version 2: (patch 1/2) - change of __dtb_empty_root_* from "void *" to "uint8_t []" 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 | 29 ++++++++++++++++++++++++++++- drivers/of/unittest.c | 16 ++++------------ include/linux/of_fdt.h | 2 ++ init/main.c | 2 ++ 7 files changed, 49 insertions(+), 15 deletions(-) create mode 100644 drivers/of/empty_root.dts -- Frank Rowand <frowand.list@xxxxxxxxx>