hw/ppc: set machine->fdt in pnv_reset()
authorDaniel Henrique Barboza <danielhb413@gmail.com>
Mon, 26 Sep 2022 17:38:51 +0000 (14:38 -0300)
committerDaniel Henrique Barboza <danielhb413@gmail.com>
Mon, 17 Oct 2022 19:15:10 +0000 (16:15 -0300)
This will enable support for the 'dumpdtb' QMP/HMP command for
all powernv machines.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220926173855.1159396-13-danielhb413@gmail.com>

hw/ppc/pnv.c

index 78e00afb9b90e41018dd44d9701efe90fc1154aa..40bb573d1ac055826787d6e777c64558c2708907 100644 (file)
@@ -678,7 +678,13 @@ static void pnv_reset(MachineState *machine)
     qemu_fdt_dumpdtb(fdt, fdt_totalsize(fdt));
     cpu_physical_memory_write(PNV_FDT_ADDR, fdt, fdt_totalsize(fdt));
 
-    g_free(fdt);
+    /*
+     * Set machine->fdt for 'dumpdtb' QMP/HMP command. Free
+     * the existing machine->fdt to avoid leaking it during
+     * a reset.
+     */
+    g_free(machine->fdt);
+    machine->fdt = fdt;
 }
 
 static ISABus *pnv_chip_power8_isa_create(PnvChip *chip, Error **errp)