// SPDX-License-Identifier: GPL-2.0-only

#include <linux/init.h>
#include <linux/of_fdt.h>
#include <linux/printk.h>
#include <linux/memblock.h>
#include <init.h>

#include "um_arch.h"

static char *dtb __initdata;

void uml_dtb_init(void)
{
	long long size;
	void *area;

	area = uml_load_file(dtb, &size);
	if (!area)
		return;

	if (!early_init_dt_scan(area)) {
		pr_err("invalid DTB %s\n", dtb);
		memblock_free(area, size);
		return;
	}

	early_init_fdt_scan_reserved_mem();
	unflatten_device_tree();
}

static int __init uml_dtb_setup(char *line, int *add)
{
	dtb = line;
	return 0;
}

__uml_setup("dtb=", uml_dtb_setup,
"dtb=<file>\n"
"    Boot the kernel with the devicetree blob from the specified file.\n"
);
