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