From: Rob Herring <robh@kernel.org>
To: Simon Glass <sjg@chromium.org>
Cc: devicetree@vger.kernel.org, Dhaval Sharma <dhaval@rivosinc.com>,
Guo Dong <guo.dong@intel.com>,
U-Boot Mailing List <u-boot@lists.denx.de>,
Yunhui Cui <cuiyunhui@bytedance.com>,
Chiu Chasel <chasel.chiu@intel.com>,
Mark Rutland <mark.rutland@arm.com>,
linux-acpi@vger.kernel.org,
Maximilian Brune <maximilian.brune@9elements.com>,
Ard Biesheuvel <ardb@kernel.org>, Tom Rini <trini@konsulko.com>,
Lean Sheng Tan <sheng.tan@9elements.com>,
Gua Guo <gua.guo@intel.com>, ron minnich <rminnich@gmail.com>
Subject: Re: [PATCH v6 1/2] schemas: Add some common reserved-memory usages
Date: Thu, 21 Sep 2023 09:25:29 -0500 [thread overview]
Message-ID: <CAL_Jsq+WfWrZErmz4u3_-CoVAuxL21UndcRekfJ1e61ZMMBqRw@mail.gmail.com> (raw)
In-Reply-To: <20230907214012.74978-1-sjg@chromium.org>
On Thu, Sep 7, 2023 at 4:40 PM Simon Glass <sjg@chromium.org> wrote:
>
> It is common to split firmware into 'Platform Init', which does the
> initial hardware setup and a "Payload" which selects the OS to be booted.
> Thus an handover interface is required between these two pieces.
>
> This aims to provide an small schema addition for the memory mapping
> needed to keep these two pieces working together well.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
> Changes in v6:
> - Drop mention of UEFI
> - Use compatible strings instead of node names
>
> Changes in v5:
> - Drop the memory-map node (should have done that in v4)
> - Tidy up schema a bit
>
> Changes in v4:
> - Make use of the reserved-memory node instead of creating a new one
>
> Changes in v3:
> - Reword commit message again
> - cc a lot more people, from the FFI patch
> - Split out the attributes into the /memory nodes
>
> Changes in v2:
> - Reword commit message
>
> .../reserved-memory/common-reserved.yaml | 71 +++++++++++++++++++
> 1 file changed, 71 insertions(+)
> create mode 100644 dtschema/schemas/reserved-memory/common-reserved.yaml
>
> diff --git a/dtschema/schemas/reserved-memory/common-reserved.yaml b/dtschema/schemas/reserved-memory/common-reserved.yaml
> new file mode 100644
> index 0000000..4889f59
> --- /dev/null
> +++ b/dtschema/schemas/reserved-memory/common-reserved.yaml
> @@ -0,0 +1,71 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/reserved-memory/common-reserved.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Common memory reservations
> +
> +description: |
> + Specifies that the reserved memory region can be used for the purpose
> + indicated by its compatible string.
> +
> + Clients may reuse this reserved memory if they understand what it is for,
> + subject to the notes below.
> +
> +maintainers:
> + - Simon Glass <sjg@chromium.org>
> +
> +allOf:
> + - $ref: reserved-memory.yaml
> +
> +properties:
> + compatible:
> + description: |
> + This describes some common memory reservations:
> +
> + acpi-reclaim: Contains ACPI tables; memory may be reclaimed when the
> + tables are no-longer needed
I think you are mixing 2 things with the name here. What the memory
contains and what to do with it. You don't need the latter. The
consumer of the region will know what to do with it if anything based
on knowing what is in the region. For example, The DTB passed to the
OS is typically in a reserved region (probably still /mem-reserve/
though). The DTB may remain there forever or the OS could copy it
somewhere else and free the reserved region. The Linux kernel does
both depending on the arch. (Of course there is no "dtb" compatible
because we have to pass the location of the dtb to even find the
reserved regions in the first place.)
So the question here is whether just "acpi" (or "acpi-tables"?) would
be explicit enough?
> + acpi-nvs: Contains ACPI Non-volatile-storage data; memory may be
> + reclaimed when the tables are no-longer needed
No need to say anything about reclaiming.
I know some ACPIisms (e.g. DSDT), but I don't know what NVS or
"Non-volatile-storage data" is in an ACPI context.
> + boot-code: Contains code used for booting; memory may be reclaimed by
> + the OS when it is running
> + boot-code: Contains data used for booting; memory may be reclaimed by
boot-data?
> + the OS when it is running
I thought these were for stages before we get to OS?
> + runtime-code: Contains code used for interacting with the system when
> + running; memory may be reclaimed if this code is not called
> + runtime-data: Contains data used for interacting with the system when
> + running; memory may be reclaimed if the runtime code is not used
"boot" vs. "runtime" seem too vague. However, if these mean EFI boot
time services and runtime services, then I understand exactly what
they are. In that case dropping 'uefi,' was a mistake. But EFI has its
own way to define these regions, right?
Rob
next prev parent reply other threads:[~2023-09-21 14:25 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-07 21:40 [PATCH v6 1/2] schemas: Add some common reserved-memory usages Simon Glass
2023-09-07 21:40 ` [PATCH v6 2/2] schemas: memory: Add ECC properties Simon Glass
2023-09-08 9:39 ` Peter Robinson
2023-09-08 11:45 ` Rob Herring
2023-09-09 22:40 ` Simon Glass
2023-09-19 15:27 ` [PATCH v6 1/2] schemas: Add some common reserved-memory usages Simon Glass
2023-09-21 14:25 ` Rob Herring [this message]
2023-09-21 14:38 ` Simon Glass
2023-09-21 15:20 ` Rob Herring
2023-09-21 16:45 ` Simon Glass
2023-09-25 15:04 ` Simon Glass
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=CAL_Jsq+WfWrZErmz4u3_-CoVAuxL21UndcRekfJ1e61ZMMBqRw@mail.gmail.com \
--to=robh@kernel.org \
--cc=ardb@kernel.org \
--cc=chasel.chiu@intel.com \
--cc=cuiyunhui@bytedance.com \
--cc=devicetree@vger.kernel.org \
--cc=dhaval@rivosinc.com \
--cc=gua.guo@intel.com \
--cc=guo.dong@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=maximilian.brune@9elements.com \
--cc=rminnich@gmail.com \
--cc=sheng.tan@9elements.com \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).