Commit 55db0113c3 for qemu.org

commit 55db0113c38997c9c969c8260adb18c6d2982929
Author: Shivang Upadhyay <shivangu@linux.ibm.com>
Date:   Tue Jun 30 16:05:07 2026 +0530

    ppc/pnv: avoid regenerating DTB if external DTB is present

    Currently externally provided dtb is overwritten in `pnv_reset`.
    Fix this by only creating dtb if not provided from `-dtb`.

    Reviewed-by: Aditya Gupta <adityag@linux.ibm.com>
    Signed-off-by: Shivang Upadhyay <shivangu@linux.ibm.com>
    Reviewed-by: Amit Machhiwal <amachhiw@linux.ibm.com>
    Link: https://lore.kernel.org/qemu-devel/20260630103508.254000-2-shivangu@linux.ibm.com
    Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>

diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 62812f22f8..afb6019b10 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -803,9 +803,13 @@ static void pnv_reset(MachineState *machine, ResetType type)
         mpipl_write_succeeded = do_mpipl_write(pnv);
     }

-    /* Regenerate device tree */
-    fdt = pnv_dt_create(machine);
-    _FDT((fdt_pack(fdt)));
+    /* Only create new dt if not provided in -dtb */
+    if (!machine->dtb) {
+        fdt = pnv_dt_create(machine);
+        _FDT((fdt_pack(fdt)));
+    } else {
+        fdt = machine->fdt;
+    }

     /*
      * If it's a MPIPL boot, add the "mpipl-boot" property, and reset the