From: Andrey Skvortsov <andrej.skvortzov@gmail.com>
To: Heinrich Schuchardt <xypron.glpk@gmx.de>
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 23:06:17 +0300 [thread overview]
Message-ID: <ZOpbOcsTUFkxdh/5@skv.local> (raw)
In-Reply-To: <f9fc81a5-1505-4cb3-8b65-798ddf16e1aa@gmx.de>
Hi Heinrich,
On 23-08-26 15:10, Heinrich Schuchardt wrote:
> 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.
This will be limited to 32 bit only for platforms, that don't support
64 bit. These platforms explicitly defines #address-cells = 1 and #size-cells = 1 in
root node.
> > 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 is current behavior of Linux kernel. When root #address-cells and
reserved-memory #address-cells don't match, then reserved-memory
region is ignored. See [1].
dmesg output:
```
OF: fdt: Reserved memory: unsupported node format, ignoring
```
> > 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?
It's entirely possible to do on platforms, that support that. Default
fallback value is still 2 for #address-cells and #size-cells.
1. https://elixir.bootlin.com/linux/latest/source/drivers/of/fdt.c#L548
--
Best regards,
Andrey Skvortsov
next prev parent reply other threads:[~2023-08-26 20:06 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
2023-08-26 18:41 ` Andre Przywara
2023-10-16 12:23 ` Andrey Skvortsov
2023-08-26 20:06 ` Andrey Skvortsov [this message]
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=ZOpbOcsTUFkxdh/5@skv.local \
--to=andrej.skvortzov@gmail.com \
--cc=andre.przywara@arm.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 \
--cc=xypron.glpk@gmx.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox