From: David Gibson <david@gibson.dropbear.id.au>
To: Daniel Henrique Barboza <danielhb413@gmail.com>
Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org, clg@kaod.org
Subject: Re: [PATCH v2] ppc/pnv.c: fix "system-id" FDT when -uuid is set
Date: Tue, 7 Dec 2021 11:09:01 +1100 [thread overview]
Message-ID: <Ya6mHauaGPv7HwYf@yekko> (raw)
In-Reply-To: <20211206130253.630655-1-danielhb413@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1964 bytes --]
On Mon, Dec 06, 2021 at 10:02:53AM -0300, Daniel Henrique Barboza wrote:
> 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" to retrieve a
> "system-id" attribute that does not exist, instead of using
> fdt_setprop_string() to create a "system-id" attribute with the uuid
> provided via command line.
Fix is correct but this description isn't really accurate.
fdt_property_string() is a "sequential write" function, only used when
you're building a new DT up from scratch, which is an entirely
different mode from read/write access to an existing tree. Using when
the tree is in read-write state will cause an immediate BADSTATE
error; whether the property exists already or not is irrelevant.
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
>
> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
> ---
>
> changes from v1:
> - fixed typo in commit title
>
>
> hw/ppc/pnv.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> index 32ab8071a4..9e532caa9f 100644
> --- a/hw/ppc/pnv.c
> +++ b/hw/ppc/pnv.c
> @@ -552,7 +552,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);
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2021-12-07 1:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-06 13:02 [PATCH v2] ppc/pnv.c: fix "system-id" FDT when -uuid is set Daniel Henrique Barboza
2021-12-07 0:09 ` David Gibson [this message]
2021-12-07 9:44 ` Daniel Henrique Barboza
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Ya6mHauaGPv7HwYf@yekko \
--to=david@gibson.dropbear.id.au \
--cc=clg@kaod.org \
--cc=danielhb413@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.