aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorCédric Le Goater <clg@kaod.org>2019-07-23 11:01:38 +0200
committerDavid Gibson <david@gibson.dropbear.id.au>2019-08-29 09:45:18 +1000
commitf47a08d1a71825c10188968251e6f4a8ef647b99 (patch)
treeaac0773f2bc6ab505852f3d68feca99c584c31b6 /hw
parent45a73a19606488e093ecd0cef42ce28d8c4d37c4 (diff)
downloadqemu-f47a08d1a71825c10188968251e6f4a8ef647b99.zip
qemu-f47a08d1a71825c10188968251e6f4a8ef647b99.tar.gz
qemu-f47a08d1a71825c10188968251e6f4a8ef647b99.tar.bz2
ppc/pnv: Generate phandle for the "interrupt-parent" property
Devices such as the BT or serial devices require a valid "interrupt-parent" phandle in the device tree and it is currently empty (0x0). It was not a problem until now but since OpenFirmare started using a recent libdft (>= 1.4.7), petitboot fails to boot the system image with error : dtc_resize: fdt_open_into returned FDT_ERR_BADMAGIC Provide a phandle for the LPC bus. Suggested-by: Greg Kurz <groug@kaod.org> Signed-off-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20190723090138.30623-1-clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'hw')
-rw-r--r--hw/ppc/pnv.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 6ead82a..2077452 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -434,9 +434,14 @@ static void pnv_dt_isa(PnvMachineState *pnv, void *fdt)
.fdt = fdt,
.offset = isa_offset,
};
+ uint32_t phandle;
_FDT((fdt_setprop(fdt, isa_offset, "primary", NULL, 0)));
+ phandle = qemu_fdt_alloc_phandle(fdt);
+ assert(phandle > 0);
+ _FDT((fdt_setprop_cell(fdt, isa_offset, "phandle", phandle)));
+
/* ISA devices are not necessarily parented to the ISA bus so we
* can not use object_child_foreach() */
qbus_walk_children(BUS(pnv->isa_bus), pnv_dt_isa_device, NULL, NULL, NULL,