From: Leif Lindholm <leif.lindholm@linaro.org>
To: Mark Rutland <mark.rutland@arm.com>
Cc: "linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"roy.franz@linaro.org" <roy.franz@linaro.org>,
"linux-efi@vger.kernel.org" <linux-efi@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"grant.likely@secretlab.ca" <grant.likely@secretlab.ca>,
"matt.fleming@intel.com" <matt.fleming@intel.com>,
"msalter@redhat.com" <msalter@redhat.com>
Subject: Re: [PATCH v2 1/3] Documentation: arm: add UEFI support documentation
Date: Thu, 3 Oct 2013 21:44:25 +0200 [thread overview]
Message-ID: <20131003194425.GD1557@rocoto.smurfnet.nu> (raw)
In-Reply-To: <20131003171053.GB6999@e106331-lin.cambridge.arm.com>
On Thu, Oct 03, 2013 at 06:10:54PM +0100, Mark Rutland wrote:
> > +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:
> > +- 'linux,efi-system-table':
> > + Physical address of the system table. (required)
> > + 64-bit value since an ARMv7 plattform may support LPAE, and to facilitate
>
> s/plattform/platform/
Indeed, thanks.
> > + code sharing with arm64. Top 32 bits will be ignored, since UEFI specification
> > + mandates a 1:1 mapping of all RAM.
>
> You could use something like #size-cells to describe how big this is
> going to be. Is this Linux-specific -- it looks like something provided
> by EFI rather than the kernel itself.
Provided by the bootloader, which may be the kernel's UEFI stub, or
something else (like GRUB). Extracted from UEFI by stub (or other
loader) which executes as a UEFI application.
> > +- '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.
> > + 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().
>
> This is a little scary. If the format is so complicated, should it
> really be embedded? How big is this likely to be?
With current format, and it has yet to be extended beyond v1, it is
40 bytes per entry. Number of entries will vary depending on how many
regions are allocated in UEFI (1 entry per region). I have heard of
some x86 systems with 128 or more regions, but my devboards have more
like 16, and my desktop ~60.
Having it embedded in the DT means the data passed by the bootloader
to the kernel is automatically kept together (for kexec or such).
Not vital, but nice.
> Given that this is in a format defined externally, this isn't really
> Linux-specific. Maybe we need an "efi" pseudo-vendor prefix.
A discussion for the other thread.
> > +- 'linux,efi-mmap-desc-size':
> > + Size of each descriptor in the memory map. (override default)
>
> What units is this in? How many u32 cells does this take up (one
> presumably)?
Value as returned by UEFI GetMemoryMap() boot service call.
Yes, one for ARM.
> > +- 'linux,efi-mmap-desc-ver':
> > + Memory descriptor format version. (override default)
>
> Type, format, valid values and their meaning?
Meaning defined by UEFI specification, currently providing the only
valid value as 1. 32-bit uint.
/
Leif
next prev parent reply other threads:[~2013-10-03 19:44 UTC|newest]
Thread overview: 14+ 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 ` [PATCH v2 1/3] Documentation: arm: add UEFI support documentation Leif Lindholm
2013-10-03 16:11 ` Rob Herring
2013-10-03 17:18 ` Leif Lindholm
2013-10-04 12:54 ` Mark Rutland
2013-10-03 17:10 ` Mark Rutland
2013-10-03 19:44 ` Leif Lindholm [this message]
2013-10-03 11:24 ` [PATCH v2 2/3] arm: Add [U]EFI runtime services support Leif Lindholm
2013-10-17 14:07 ` Matt Fleming
2013-10-17 14:31 ` Leif Lindholm
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-11-15 18:04 ` [PATCH v2 0/3] arm: [U]EFI runtime services support Olof Johansson
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=20131003194425.GD1557@rocoto.smurfnet.nu \
--to=leif.lindholm@linaro.org \
--cc=grant.likely@secretlab.ca \
--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=mark.rutland@arm.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome