From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Leif Lindholm <leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
patches-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
hpa-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org,
matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
Subject: Re: [PATCH 1/4] Documentation: arm: [U]EFI runtime services
Date: Tue, 25 Jun 2013 17:42:59 -0600 [thread overview]
Message-ID: <51CA2B03.4080106@wwwdotorg.org> (raw)
In-Reply-To: <1372183863-11333-2-git-send-email-leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
On 06/25/2013 12:11 PM, Leif Lindholm wrote:
> This patch provides documentation of the [U]EFI runtime services and
> configuration features.
> diff --git a/Documentation/arm/uefi.txt b/Documentation/arm/uefi.txt
> +The implementation depends on receiving pointers to the UEFI memory map
> +and System Table in a Flattened Device Tree - so is only available with
> +CONFIG_OF.
> +
> +It (early) parses the FDT for the following parameters:
Part of this document (the raw requirements for DT content, rather than
the discussion of OS implementation/behaviour in parsing/interpreting
the properties) should be part of a file in
Documentation/devicetree/bindings/ (arm/uefi.txt?).
What node are these properties expected to be contained within?
Shouldn't that node be required to contain a compatible value, which
would define the schema for the other properties?
> +- 'efi-system-table':
> + Physical address of the system table. (required)
> +- 'efi-runtime-mmap':
> + Physical address of an EFI memory map, containing at least
> + the regions to be preserved. (required)
> +- 'efi-runtime-mmap-size':
> + Size in bytes of the provided memory map. (required)
> +- 'efi-mmap-desc-size':
> + Size of each descriptor in the memory map. (override default)
> +- 'efi-mmap-desc-ver':
> + Memory descriptor format version. (override default)
> +
> +Since UEFI firmware on ARM systems are required to use a 1:1 memory map
> +even on LPAE-capable systems, the above fields are 32-bit regardless.
What about ARMv8? Is the intention to have a separate definition for the
UEFI bindings on ARMv8, so that compatibility isn't an issue? What if a
future version of UEFI allows LPAE usage?
It may be better to explicitly state that the size of those properties
is either #address-cells from the parent node (presumably the top-level
of the DT), and/or introduce some property to explicitly state the size
of the properties. Those mechanisms would allow forward-compatibility to
LPAE usage or ARMv8 without requiring the text of the binding definition
to change.
Also, it seems legal to state the physical addresses using 64-bits even
if the actual values themselves are restricted to 32-bit range by the
UEFI spec. Illegal values would presumably cause SW that interprets them
to fail error-checks, and be rejected.
> +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
Presumably "all the code" also includes "all .data and .bss", or
whatever the UEFI-equivalent may be? I'm not familiar with UEFI at all;
does the "EFI memory map" mentioned above describe all the memory
regions that must be mapped to use UEFI?
> +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, sinze it uses setup_mm_for_reboot().
next prev parent reply other threads:[~2013-06-25 23:42 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-25 18:10 [PATCH 0/4] arm: [U]EFI runtime services support Leif Lindholm
2013-06-25 18:11 ` [PATCH 1/4] Documentation: arm: [U]EFI runtime services Leif Lindholm
[not found] ` <1372183863-11333-2-git-send-email-leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-06-25 18:46 ` Christopher Covington
2013-06-25 23:42 ` Stephen Warren [this message]
[not found] ` <51CA2B03.4080106-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-06-26 13:20 ` Grant Likely
[not found] ` <CACxGe6vsBKnbipR-Zd1T9Ox1J2ugFmShrGXGUzPa_=D9TJvFQw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-26 13:53 ` Leif Lindholm
[not found] ` <20130626135311.GA9078-GZEopFhza0F985/tl1ce8aaDwS/vmuI7@public.gmane.org>
2013-06-26 13:59 ` Matt Fleming
2013-06-26 14:38 ` James Bottomley
2013-06-27 1:32 ` Matthew Garrett
2013-06-27 6:23 ` Grant Likely
2013-06-27 6:33 ` James Bottomley
2013-06-27 14:37 ` Matthew Garrett
2013-06-27 15:09 ` James Bottomley
2013-06-27 15:37 ` Grant Likely
2013-06-27 17:28 ` Matthew Garrett
2013-06-27 14:54 ` Grant Likely
2013-06-27 15:04 ` James Bottomley
2013-06-27 18:32 ` Russell King - ARM Linux
2013-06-27 9:00 ` Leif Lindholm
[not found] ` <20130627090050.GC18151-GZEopFhza0F985/tl1ce8aaDwS/vmuI7@public.gmane.org>
2013-06-27 14:38 ` Matthew Garrett
2013-06-27 18:32 ` H. Peter Anvin
2013-06-26 18:32 ` Stephen Warren
2013-06-26 19:31 ` Leif Lindholm
[not found] ` <20130626193158.GF9078-GZEopFhza0F985/tl1ce8aaDwS/vmuI7@public.gmane.org>
2013-06-27 18:04 ` Stephen Warren
2013-06-27 20:11 ` Grant Likely
2013-06-30 3:21 ` Rob Landley
2013-06-26 13:13 ` Grant Likely
[not found] ` <CACxGe6tUpo31p6N0BZt_jdonuPP8ijvLBygC76wQ044EFsqOwA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-26 14:04 ` Leif Lindholm
[not found] ` <20130626140459.GB9078-GZEopFhza0F985/tl1ce8aaDwS/vmuI7@public.gmane.org>
2013-06-26 14:35 ` Grant Likely
2013-06-27 14:22 ` Arnd Bergmann
2013-06-25 18:11 ` [PATCH 2/4] x86: efi: break efi_lookup_mapped_addr out to generic code Leif Lindholm
2013-06-26 13:30 ` Grant Likely
[not found] ` <1372183863-11333-3-git-send-email-leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-06-26 13:32 ` Matt Fleming
[not found] ` <20130626133217.GO22026-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-06-26 14:11 ` Leif Lindholm
2013-06-26 14:40 ` Matt Fleming
[not found] ` <1372183863-11333-1-git-send-email-leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-06-25 18:11 ` [PATCH 3/4] arm: Add [U]EFI runtime services support Leif Lindholm
2013-06-25 18:20 ` Matthew Garrett
[not found] ` <20130625182021.GA29955-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-06-26 13:46 ` Grant Likely
[not found] ` <1372183863-11333-4-git-send-email-leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-06-26 13:46 ` Grant Likely
[not found] ` <CACxGe6sH4dAVryBp7TeUmrwsJmnMdLsQm++U4EVDJVNi9pnqYw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-26 13:54 ` Matt Fleming
[not found] ` <20130626135417.GP22026-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-06-26 14:15 ` Borislav Petkov
2013-06-26 14:35 ` Grant Likely
2013-06-26 14:22 ` Leif Lindholm
2013-06-25 18:11 ` [PATCH 4/4] init: efi: arm: enable (U)EFI runtime services on arm Leif Lindholm
[not found] ` <1372183863-11333-5-git-send-email-leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-06-26 13:24 ` Grant Likely
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=51CA2B03.4080106@wwwdotorg.org \
--to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
--cc=hpa-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
--cc=leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=patches-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox