summaryrefslogtreecommitdiffstats
path: root/hw/ppc
diff options
context:
space:
mode:
authorDaniel Henrique Barboza2022-09-26 19:38:51 +0200
committerDaniel Henrique Barboza2022-10-17 21:15:10 +0200
commitadb779965354638c43d26bf197fb06aa49d1f8cf (patch)
treeecd4463eb96a9256c14166e119450312cb1284b2 /hw/ppc
parenthw/ppc: set machine->fdt in pegasos2_machine_reset() (diff)
downloadqemu-adb779965354638c43d26bf197fb06aa49d1f8cf.tar.gz
qemu-adb779965354638c43d26bf197fb06aa49d1f8cf.tar.xz
qemu-adb779965354638c43d26bf197fb06aa49d1f8cf.zip
hw/ppc: set machine->fdt in pnv_reset()
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>
Diffstat (limited to 'hw/ppc')
-rw-r--r--hw/ppc/pnv.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 78e00afb9b..40bb573d1a 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -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)