From: Rob Herring <robherring2@gmail.com>
To: Leif Lindholm <leif.lindholm@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org, roy.franz@linaro.org,
linux-efi@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, grant.likely@secretlab.ca,
matt.fleming@intel.com, msalter@redhat.com,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH v2 1/3] Documentation: arm: add UEFI support documentation
Date: Thu, 03 Oct 2013 11:11:18 -0500 [thread overview]
Message-ID: <524D9726.6080501@gmail.com> (raw)
In-Reply-To: <1380799481-5470-2-git-send-email-leif.lindholm@linaro.org>
Adding devicetree list since you are defining bindings...
On 10/03/2013 06:24 AM, Leif Lindholm wrote:
> This patch provides documentation of the [U]EFI runtime services and
> configuration features.
>
> Cc: linux-doc@vger.kernel.org
> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> Acked-by: Rob Landley <rob@landley.net>
> ---
> Documentation/arm/00-INDEX | 3 +++
> Documentation/arm/uefi.txt | 47 ++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 50 insertions(+)
> create mode 100644 Documentation/arm/uefi.txt
>
> diff --git a/Documentation/arm/00-INDEX b/Documentation/arm/00-INDEX
> index 4978456..87e01d1 100644
> --- a/Documentation/arm/00-INDEX
> +++ b/Documentation/arm/00-INDEX
> @@ -36,3 +36,6 @@ nwfpe/
> - NWFPE floating point emulator documentation
> swp_emulation
> - SWP/SWPB emulation handler/logging description
> +
> +uefi.txt
> + - [U]EFI configuration and runtime services documentation
> diff --git a/Documentation/arm/uefi.txt b/Documentation/arm/uefi.txt
> new file mode 100644
> index 0000000..e6e4d41
> --- /dev/null
> +++ b/Documentation/arm/uefi.txt
> @@ -0,0 +1,47 @@
> +UEFI, the Unified Extensible Firmware Interface is a speifcication
> +governing the behaviours of compatible firmware interfaces. It is
> +maintained by the UEFI Forum - http://www.uefi.org/.
> +
> +Since UEFI is an evolution of its predecessor 'EFI', the terms EFI and
> +UEFI are used somewhat interchangeably in this document and associated
> +source code.
> +
> +The implementation depends on receiving the UEFI runtime memory map and a
> +pointer to the System Table in a Flattened Device Tree - so is only available
> +with CONFIG_OF.
> +
> +It parses the FDT /chosen node for the following parameters:
DT bindings should be documented in Documentation/devicetree/bindings.
I also wonder if this would be more appropriately placed in a /firmware
node.
> +- 'linux,efi-system-table':
> + Physical address of the system table. (required)
> + 64-bit value since an ARMv7 plattform may support LPAE, and to facilitate
> + code sharing with arm64. Top 32 bits will be ignored, since UEFI specification
> + mandates a 1:1 mapping of all RAM.
> +- 'linux,efi-mmap':
> + The EFI memory map as an embedded property. (required)
> + An array of type EFI_MEMORY_DESCRIPTOR as described by the UEFI
> + specification, current version described in Linux by efi_memory_desc_t.
Is that too complex to describe here?
> + The memory map is represented in little-endian, not DT, byte order.
> + This map needs to contain at least the regions to be preserved for runtime
> + services, but would normally just be the map retreieved by calling UEFI
> + GetMemoryMap() immediately before ExitBootServices().
> +- 'linux,efi-mmap-desc-size':
> + Size of each descriptor in the memory map. (override default)
32-bit value?
> +- 'linux,efi-mmap-desc-ver':
> + Memory descriptor format version. (override default)
String? Number?
Are these all generated by UEFI at runtime or could they be statically
set in a platform's DTB?
How would other OS's get this information? Is this really linux specific?
Rob
> +
> +It also depends on early_memremap() to parse the UEFI configuration tables.
> +
> +For actually enabling [U]EFI support, enable:
> +- CONFIG_EFI=y
> +- CONFIG_EFI_VARS=y or m
> +
> +After the kernel has mapped the required regions into its address space,
> +a SetVirtualAddressMap() call is made into UEFI in order to update
> +relocations. This call must be performed with all the code in a 1:1
> +mapping. This implementation achieves this by temporarily disabling the
> +MMU for the duration of this call. This can only be done safely:
> +- before secondary CPUs are brought online.
> +- after early_initcalls have completed, since it uses setup_mm_for_reboot().
> +
> +For verbose debug messages, specify 'uefi_debug' on the kernel command
> +line.
>
WARNING: multiple messages have this Message-ID (diff)
From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/3] Documentation: arm: add UEFI support documentation
Date: Thu, 03 Oct 2013 11:11:18 -0500 [thread overview]
Message-ID: <524D9726.6080501@gmail.com> (raw)
In-Reply-To: <1380799481-5470-2-git-send-email-leif.lindholm@linaro.org>
Adding devicetree list since you are defining bindings...
On 10/03/2013 06:24 AM, Leif Lindholm wrote:
> This patch provides documentation of the [U]EFI runtime services and
> configuration features.
>
> Cc: linux-doc at vger.kernel.org
> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> Acked-by: Rob Landley <rob@landley.net>
> ---
> Documentation/arm/00-INDEX | 3 +++
> Documentation/arm/uefi.txt | 47 ++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 50 insertions(+)
> create mode 100644 Documentation/arm/uefi.txt
>
> diff --git a/Documentation/arm/00-INDEX b/Documentation/arm/00-INDEX
> index 4978456..87e01d1 100644
> --- a/Documentation/arm/00-INDEX
> +++ b/Documentation/arm/00-INDEX
> @@ -36,3 +36,6 @@ nwfpe/
> - NWFPE floating point emulator documentation
> swp_emulation
> - SWP/SWPB emulation handler/logging description
> +
> +uefi.txt
> + - [U]EFI configuration and runtime services documentation
> diff --git a/Documentation/arm/uefi.txt b/Documentation/arm/uefi.txt
> new file mode 100644
> index 0000000..e6e4d41
> --- /dev/null
> +++ b/Documentation/arm/uefi.txt
> @@ -0,0 +1,47 @@
> +UEFI, the Unified Extensible Firmware Interface is a speifcication
> +governing the behaviours of compatible firmware interfaces. It is
> +maintained by the UEFI Forum - http://www.uefi.org/.
> +
> +Since UEFI is an evolution of its predecessor 'EFI', the terms EFI and
> +UEFI are used somewhat interchangeably in this document and associated
> +source code.
> +
> +The implementation depends on receiving the UEFI runtime memory map and a
> +pointer to the System Table in a Flattened Device Tree - so is only available
> +with CONFIG_OF.
> +
> +It parses the FDT /chosen node for the following parameters:
DT bindings should be documented in Documentation/devicetree/bindings.
I also wonder if this would be more appropriately placed in a /firmware
node.
> +- 'linux,efi-system-table':
> + Physical address of the system table. (required)
> + 64-bit value since an ARMv7 plattform may support LPAE, and to facilitate
> + code sharing with arm64. Top 32 bits will be ignored, since UEFI specification
> + mandates a 1:1 mapping of all RAM.
> +- 'linux,efi-mmap':
> + The EFI memory map as an embedded property. (required)
> + An array of type EFI_MEMORY_DESCRIPTOR as described by the UEFI
> + specification, current version described in Linux by efi_memory_desc_t.
Is that too complex to describe here?
> + The memory map is represented in little-endian, not DT, byte order.
> + This map needs to contain at least the regions to be preserved for runtime
> + services, but would normally just be the map retreieved by calling UEFI
> + GetMemoryMap() immediately before ExitBootServices().
> +- 'linux,efi-mmap-desc-size':
> + Size of each descriptor in the memory map. (override default)
32-bit value?
> +- 'linux,efi-mmap-desc-ver':
> + Memory descriptor format version. (override default)
String? Number?
Are these all generated by UEFI at runtime or could they be statically
set in a platform's DTB?
How would other OS's get this information? Is this really linux specific?
Rob
> +
> +It also depends on early_memremap() to parse the UEFI configuration tables.
> +
> +For actually enabling [U]EFI support, enable:
> +- CONFIG_EFI=y
> +- CONFIG_EFI_VARS=y or m
> +
> +After the kernel has mapped the required regions into its address space,
> +a SetVirtualAddressMap() call is made into UEFI in order to update
> +relocations. This call must be performed with all the code in a 1:1
> +mapping. This implementation achieves this by temporarily disabling the
> +MMU for the duration of this call. This can only be done safely:
> +- before secondary CPUs are brought online.
> +- after early_initcalls have completed, since it uses setup_mm_for_reboot().
> +
> +For verbose debug messages, specify 'uefi_debug' on the kernel command
> +line.
>
next prev parent reply other threads:[~2013-10-03 16:11 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-03 11:24 [PATCH v2 0/3] arm: [U]EFI runtime services support Leif Lindholm
2013-10-03 11:24 ` Leif Lindholm
2013-10-03 11:24 ` Leif Lindholm
2013-10-03 11:24 ` [PATCH v2 1/3] Documentation: arm: add UEFI support documentation Leif Lindholm
2013-10-03 11:24 ` Leif Lindholm
2013-10-03 16:11 ` Rob Herring [this message]
2013-10-03 16:11 ` Rob Herring
[not found] ` <524D9726.6080501-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-10-03 17:18 ` Leif Lindholm
2013-10-03 17:18 ` Leif Lindholm
2013-10-03 17:18 ` Leif Lindholm
[not found] ` <20131003171800.GC1557-GZEopFhza0F985/tl1ce8aaDwS/vmuI7@public.gmane.org>
2013-10-04 12:54 ` Mark Rutland
2013-10-04 12:54 ` Mark Rutland
2013-10-04 12:54 ` Mark Rutland
2013-10-03 17:10 ` Mark Rutland
2013-10-03 17:10 ` Mark Rutland
[not found] ` <20131003171053.GB6999-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2013-10-03 19:44 ` Leif Lindholm
2013-10-03 19:44 ` Leif Lindholm
2013-10-03 19:44 ` Leif Lindholm
2013-10-03 11:24 ` [PATCH v2 2/3] arm: Add [U]EFI runtime services support Leif Lindholm
2013-10-03 11:24 ` Leif Lindholm
[not found] ` <1380799481-5470-3-git-send-email-leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-10-17 14:07 ` Matt Fleming
2013-10-17 14:07 ` Matt Fleming
2013-10-17 14:07 ` Matt Fleming
[not found] ` <20131017140739.GI10834-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-10-17 14:31 ` Leif Lindholm
2013-10-17 14:31 ` Leif Lindholm
2013-10-17 14:31 ` Leif Lindholm
[not found] ` <20131017143121.GJ1557-GZEopFhza0F985/tl1ce8aaDwS/vmuI7@public.gmane.org>
2013-10-17 16:58 ` Mark Salter
2013-10-17 16:58 ` Mark Salter
2013-10-17 16:58 ` Mark Salter
2013-10-03 11:24 ` [PATCH v2 3/3] init: efi: arm: enable (U)EFI runtime services on arm Leif Lindholm
2013-10-03 11:24 ` Leif Lindholm
[not found] ` <1380799481-5470-1-git-send-email-leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-11-15 18:04 ` [PATCH v2 0/3] arm: [U]EFI runtime services support Olof Johansson
2013-11-15 18:04 ` Olof Johansson
2013-11-15 18:04 ` Olof Johansson
[not found] ` <CAOesGMh+2Qs_cVMtdkpyXR44NJkQscs0eP_=pxwKXHkopaAKog-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-15 18:54 ` Leif Lindholm
2013-11-15 18:54 ` Leif Lindholm
2013-11-15 18:54 ` Leif Lindholm
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=524D9726.6080501@gmail.com \
--to=robherring2@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=grant.likely@secretlab.ca \
--cc=leif.lindholm@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matt.fleming@intel.com \
--cc=msalter@redhat.com \
--cc=roy.franz@linaro.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.