On 27.11.2024 13:50, Oleksii Kurochko wrote: > Relocate FDT to Xen heap instead of using early mapping as it is > expected that discard_initial_modules() ( is supposed to call in > the future ) discards the FDT boot module and remove_early_mappings() > destroys the early mapping. > > Unflatten a device tree, creating the tree of struct device_node. > It also fills the "name" and "type" pointers of the nodes so the normal > device-tree walking functions can be used. > > Set device_tree_flattened to NULL in the case when acpi_disabled is > equal to false. > > Signed-off-by: Oleksii Kurochko <oleksii.kuroc...@gmail.com>
Acked-by: Jan Beulich <jbeul...@suse.com> Albeit ... > @@ -71,6 +72,7 @@ void __init noreturn start_xen(unsigned long bootcpu_id, > paddr_t dtb_addr) > { > const char *cmdline; > + size_t fdt_size; > > remove_identity_mapping(); > > @@ -95,7 +97,7 @@ void __init noreturn start_xen(unsigned long bootcpu_id, > _end - _start, false) ) > panic("Failed to add BOOTMOD_XEN\n"); > > - if ( !boot_fdt_info(device_tree_flattened, dtb_addr) ) > + if ( !(fdt_size = boot_fdt_info(device_tree_flattened, dtb_addr)) ) > BUG(); ... perhaps better fdt_size = boot_fdt_info(device_tree_flattened, dtb_addr); BUG_ON(!fdt_size); ? Jan