From: Heinrich Schuchardt <xypron.glpk@gmx.de>
To: Andrey Skvortsov <andrej.skvortzov@gmail.com>
Cc: "Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Samuel Holland" <samuel@sholland.org>,
"Jarrah Gosbell" <kernel@undef.tools>,
"Arnaud Ferraris" <arnaud.ferraris@collabora.com>,
"Pavel Machek" <pavel@ucw.cz>,
"Andre Przywara" <andre.przywara@arm.com>,
u-boot@lists.denx.de,
"Detlev Casanova" <detlev.casanova@collabora.com>,
"Frédéric Danis" <frederic.danis@collabora.com>
Subject: Re: [PATCH] pstore: Use root address-cells/size-cells as defaults for reserved-memory
Date: Sat, 26 Aug 2023 15:10:10 +0200 [thread overview]
Message-ID: <f9fc81a5-1505-4cb3-8b65-798ddf16e1aa@gmx.de> (raw)
In-Reply-To: <20230826121652.2487643-1-andrej.skvortzov@gmail.com>
On 8/26/23 14:16, Andrey Skvortsov wrote:
> u-boot adds reserve-memory node, if it's missing, with following
> properties:
>
> ```
> reserved-memory {
> #address-cells = <2>;
> #size-cells = <2>;
This defines the size of cells for the children of reserved-memory and
and for the ranges property. If you set the cell sizes to 1 you can no
longer encode 64 bit addresses.
> ranges;
> }
> ```
>
> But with these default address-cells and size-cells values, pstore
> isn't working on A64. Root node for A64 defines 'address-cells' and
> 'size-cells' as 1.
>
> dtc complains if reserved-memory has different address-cells and
> size-cells.
>
> ```
> Warning (ranges_format): /reserved-memory:ranges: empty "ranges"
> property but its #address-cells (2) differs from / (1)
I cannot find any such requirement in the Devicetree Specification 1.4.
Is this a dtc bug?
> ```
>
> This patch takes into account address-cells and size-cells of the root
> node and uses them as values for new reserved-memory node.
Reservations may be above 4 GiB. How does your patch consider this?
Best regards
Heinrich
>
> Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
> ---
> cmd/pstore.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/cmd/pstore.c b/cmd/pstore.c
> index cd6f6feb2f..9795eea2db 100644
> --- a/cmd/pstore.c
> +++ b/cmd/pstore.c
> @@ -486,6 +486,8 @@ void fdt_fixup_pstore(void *blob)
> {
> char node[32];
> int nodeoffset; /* node offset from libfdt */
> + u32 addr_cells_root;
> + u32 size_cells_root;
> u32 addr_cells;
> u32 size_cells;
>
> @@ -495,6 +497,8 @@ void fdt_fixup_pstore(void *blob)
> log_err("fdt_path_offset() returned %s\n", fdt_strerror(nodeoffset));
> return;
> }
> + addr_cells_root = fdt_getprop_u32_default_node(blob, nodeoffset, 0, "#address-cells", 2);
> + size_cells_root = fdt_getprop_u32_default_node(blob, nodeoffset, 0, "#size-cells", 2);
>
> nodeoffset = fdt_find_or_add_subnode(blob, nodeoffset, "reserved-memory");
> if (nodeoffset < 0) {
> @@ -503,8 +507,10 @@ void fdt_fixup_pstore(void *blob)
> return;
> }
>
> - addr_cells = fdt_getprop_u32_default_node(blob, nodeoffset, 0, "#address-cells", 2);
> - size_cells = fdt_getprop_u32_default_node(blob, nodeoffset, 0, "#size-cells", 2);
> + addr_cells = fdt_getprop_u32_default_node(blob, nodeoffset, 0,
> + "#address-cells", addr_cells_root);
> + size_cells = fdt_getprop_u32_default_node(blob, nodeoffset, 0,
> + "#size-cells", size_cells_root);
> fdt_setprop_u32(blob, nodeoffset, "#address-cells", addr_cells);
> fdt_setprop_u32(blob, nodeoffset, "#size-cells", size_cells);
>
next prev parent reply other threads:[~2023-08-26 13:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-26 12:16 [PATCH] pstore: Use root address-cells/size-cells as defaults for reserved-memory Andrey Skvortsov
2023-08-26 13:10 ` Heinrich Schuchardt [this message]
2023-08-26 18:41 ` Andre Przywara
2023-10-16 12:23 ` Andrey Skvortsov
2023-08-26 20:06 ` Andrey Skvortsov
2023-10-24 23:16 ` Tom Rini
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=f9fc81a5-1505-4cb3-8b65-798ddf16e1aa@gmx.de \
--to=xypron.glpk@gmx.de \
--cc=andre.przywara@arm.com \
--cc=andrej.skvortzov@gmail.com \
--cc=arnaud.ferraris@collabora.com \
--cc=detlev.casanova@collabora.com \
--cc=frederic.danis@collabora.com \
--cc=jernej.skrabec@gmail.com \
--cc=kernel@undef.tools \
--cc=pavel@ucw.cz \
--cc=samuel@sholland.org \
--cc=u-boot@lists.denx.de \
/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.