This will enable support for 'dumpdtb' and 'info fdt' HMP commands for the bamboo machine.
Cc: Cédric Le Goater <c...@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb...@gmail.com> --- hw/ppc/ppc440_bamboo.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c index 873f930c77..2ddbb1744d 100644 --- a/hw/ppc/ppc440_bamboo.c +++ b/hw/ppc/ppc440_bamboo.c @@ -34,6 +34,8 @@ #include "hw/qdev-properties.h" #include "qapi/error.h" +#include <libfdt.h> + #define BINARY_DEVICE_TREE_FILE "bamboo.dtb" /* from u-boot */ @@ -62,6 +64,7 @@ static int bamboo_load_device_tree(hwaddr addr, hwaddr initrd_size, const char *kernel_cmdline) { + MachineState *machine = MACHINE(qdev_get_machine()); int ret = -1; uint32_t mem_reg_property[] = { 0, 0, cpu_to_be32(ramsize) }; char *filename; @@ -116,7 +119,15 @@ static int bamboo_load_device_tree(hwaddr addr, tb_freq); rom_add_blob_fixed(BINARY_DEVICE_TREE_FILE, fdt, fdt_size, addr); - g_free(fdt); + + /* + * Update the machine->fdt pointer to enable support for + * 'dumpdtb' and 'info fdt' commands. Use fdt_pack() to + * shrink the blob size we're going to store. + */ + fdt_pack(fdt); + machine->fdt = fdt; + return 0; } -- 2.36.1