From: Daniel Henrique Barboza Date: Fri, 17 Dec 2021 16:57:13 +0000 (+0100) Subject: ppc/pnv.c: fix "system-id" FDT when -uuid is set X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=bbfbbff5fc0fb4cee42ed22c4430cc5d68bacc27;p=qemu.git ppc/pnv.c: fix "system-id" FDT when -uuid is set Setting -uuid in the pnv machine does not work: ./qemu-system-ppc64 -machine powernv8,accel=tcg -uuid 7ff61ca1-a4a0-4bc1-944c-abd114a35e80 qemu-system-ppc64: error creating device tree: (fdt_property_string(fdt, "system-id", buf)): FDT_ERR_BADSTATE This happens because we're using fdt_property_string(), which is a sequential write function that is supposed to be used when we're building a new FDT, in a case where read/writing into an existing FDT. Fix it by using fdt_setprop_string() instead. Reviewed-by: David Gibson Signed-off-by: Daniel Henrique Barboza Message-Id: <20211207094858.744386-1-danielhb413@gmail.com> Signed-off-by: Cédric Le Goater --- diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index e5b87e8730..44ae41a9cb 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -522,7 +522,7 @@ static void *pnv_dt_create(MachineState *machine) buf = qemu_uuid_unparse_strdup(&qemu_uuid); _FDT((fdt_setprop_string(fdt, 0, "vm,uuid", buf))); if (qemu_uuid_set) { - _FDT((fdt_property_string(fdt, "system-id", buf))); + _FDT((fdt_setprop_string(fdt, 0, "system-id", buf))); } g_free(buf);