linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: Leif Lindholm <leif.lindholm@linaro.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	linux-efi@vger.kernel.org,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"patches@linaro.org" <patches@linaro.org>,
	"H. Peter Anvin" <hpa@linux.intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	matt.fleming@intel.com
Subject: Re: [PATCH 1/4] Documentation: arm: [U]EFI runtime services
Date: Wed, 26 Jun 2013 12:32:30 -0600	[thread overview]
Message-ID: <51CB33BE.2020601@wwwdotorg.org> (raw)
In-Reply-To: <CACxGe6vsBKnbipR-Zd1T9Ox1J2ugFmShrGXGUzPa_=D9TJvFQw@mail.gmail.com>

On 06/26/2013 07:20 AM, Grant Likely wrote:
> On Wed, Jun 26, 2013 at 12:42 AM, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> 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?
> 
> Typically, a compatible property isn't only used for nodes that
> represent a device or a so-called 'virtual' device (ie. such as to
> describe how all the sound complex is wired together) since that
> should be the clue to an OS that a device driver will bind against the
> node. I think these properties can be dropped into /chosen without
> defining a new compatible value.
> 
>>> +- '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 is unlikely that will happen on v7 since newer versions of UEFI are
> expected to remain backwards compatible with the current spec.

The expectation of backwards-compatibility sounds nice, but it seems a
little dangerous to outright rely on it.

Even if not a regular compatible property, can we define a property that
indicates the UEFI revision or revision of this DT binding, so that if
we ever have to change it, there is some way of explicitly indicating
which exact schema the DT corresponds to, rather than having to
reverse-engineer it from the set of properties that "just happen" to be
present in DT?

This is rather like the firmware node discussion that happened recently,
where we were expecting to represent a firmware (secure mode) interface
by a DT node, which would have a compatible value, which in turn would
convey information about which "OS" the secure firmware was running, and
well as any potential SoC-/OEM-/board-specific interface provided by it.

And who knows, what if UEFI gets replaced someday; presumably we'd want
some way of explicitly stating "running under UEFI" vs. "running under
something else"?

  parent reply	other threads:[~2013-06-26 18:32 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
2013-06-25 18:46   ` Christopher Covington
2013-06-25 23:42   ` Stephen Warren
2013-06-26 13:20     ` Grant Likely
2013-06-26 13:53       ` Leif Lindholm
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
2013-06-27 14:38                 ` Matthew Garrett
2013-06-27 18:32             ` H. Peter Anvin
2013-06-26 18:32       ` Stephen Warren [this message]
2013-06-26 19:31         ` Leif Lindholm
2013-06-27 18:04           ` Stephen Warren
2013-06-27 20:11             ` Grant Likely
2013-06-26 13:13   ` Grant Likely
2013-06-26 14:04     ` Leif Lindholm
2013-06-26 14:35       ` Grant Likely
2013-06-27 14:22     ` Arnd Bergmann
2013-06-30  3:21   ` Rob Landley
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
2013-06-26 13:32   ` Matt Fleming
2013-06-26 14:11     ` Leif Lindholm
2013-06-26 14:40       ` Matt Fleming
2013-06-25 18:11 ` [PATCH 3/4] arm: Add [U]EFI runtime services support Leif Lindholm
2013-06-25 18:20   ` Matthew Garrett
2013-06-26 13:46     ` Grant Likely
2013-06-26 13:46   ` Grant Likely
2013-06-26 13:54     ` Matt Fleming
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
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=51CB33BE.2020601@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=grant.likely@secretlab.ca \
    --cc=hpa@linux.intel.com \
    --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=patches@linaro.org \
    --cc=tglx@linutronix.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).