This will enable support for the 'dumpdtb' QMP/HMP command for the
boston machine.

'dtb_load_data' can't be autofreed anymore, otherwise we'll free the fdt
that is now being referenced by machine->fdt.

Signed-off-by: Daniel Henrique Barboza <danielhb...@gmail.com>
---
 hw/mips/boston.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/hw/mips/boston.c b/hw/mips/boston.c
index d2ab9da1a0..65d38cbd71 100644
--- a/hw/mips/boston.c
+++ b/hw/mips/boston.c
@@ -793,7 +793,7 @@ static void boston_mach_init(MachineState *machine)
         if (kernel_size > 0) {
             int dt_size;
             g_autofree const void *dtb_file_data = NULL;
-            g_autofree const void *dtb_load_data = NULL;
+            const void *dtb_load_data = NULL;
             hwaddr dtb_paddr = QEMU_ALIGN_UP(kernel_high, 64 * KiB);
             hwaddr dtb_vaddr = cpu_mips_phys_to_kseg0(NULL, dtb_paddr);
 
@@ -810,6 +810,9 @@ static void boston_mach_init(MachineState *machine)
             /* Calculate real fdt size after filter */
             dt_size = fdt_totalsize(dtb_load_data);
             rom_add_blob_fixed("dtb", dtb_load_data, dt_size, dtb_paddr);
+
+            /* Set machine->fdt for 'dumpdtb' QMP/HMP command */
+            machine->fdt = (void *)dtb_load_data;
         } else {
             /* Try to load file as FIT */
             fit_err = load_fit(&boston_fit_loader, machine->kernel_filename, 
s);
-- 
2.37.3


Reply via email to