public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Pankaj Bansal <pankaj.bansal@nxp.com>
Cc: Varun Sethi <V.Sethi@nxp.com>, Udit Kumar <udit.kumar@nxp.com>,
	 linux-efi <linux-efi@vger.kernel.org>,
	 "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: Uefi runtime property in device tree
Date: Wed, 26 Dec 2018 14:46:25 +0100	[thread overview]
Message-ID: <CAKv+Gu8=dTG158ph9255tK1FyURQcmj2H9CUc-Na4LaKf3-=LQ@mail.gmail.com> (raw)
In-Reply-To: <HE1PR0402MB33233B2625F8D7EFF08C4994F1B50@HE1PR0402MB3323.eurprd04.prod.outlook.com>

On Wed, 26 Dec 2018 at 11:15, Pankaj Bansal <pankaj.bansal@nxp.com> wrote:
>
> Hello Ard et al.
>
> I have a query regarding the device tree usage in UEFI.
> In our UEFI implementation for NXP SOCs, we are using device tree to detect Non discoverable platform devices.
> Based on the device detected in device tree, a device instance is created and the device’s driver binds to that device’s handle (a DXE driver or an UEFI driver).
> if the device were to be used for runtime service, then we need to allocate the memory for that device instance from runtime pool and set its virtual address using EfiConvertPointer.
> To facilitate this, I wish to add an optional property to the device node “uefi-runtime”.
> If this property is present in device tree the UEFI firmware will allocate the data from runtime pool for this device.
> Also firmware will disable/delete the node in device tree before passing onto OS, so that OS doesn’t use the device.
>
> I wish to know your thoughts on this. If this doesn’t seem the right way, I am happy to hear your suggestions.
>

Hello Pankaj,

In general, you are free to do whatever you like in the internal
implementation of your firmware. You can invent your own DT
properties, bindings, etc, or even invent your own description
language altogether as long as you ensure that the descriptions don't
leak into places where they are visible to the OS.

However, I do wonder how generic this has to be. Since the DT and the
firmware will be tightly coupled in any case, what is preventing you
from defining the RTC and NOR flash devices as DT device paths in the
firmware source, and attaching to them directly rather than traversing
the device tree looking for uefi_runtime nodes.

Note that *any* logic that operates on device trees that are provided
by the OS to the firmware will be rejected. It is the firmware's job
to describe the platform to the OS, not the other way around.


  parent reply	other threads:[~2018-12-26 13:46 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-26 10:15 Uefi runtime property in device tree Pankaj Bansal
2018-12-26 10:17 ` Pankaj Bansal
2018-12-26 13:46 ` Ard Biesheuvel [this message]
2018-12-27  9:53   ` Pankaj Bansal
2018-12-27  9:58     ` Ard Biesheuvel

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-list 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='CAKv+Gu8=dTG158ph9255tK1FyURQcmj2H9CUc-Na4LaKf3-=LQ@mail.gmail.com' \
    --to=devel@edk2.groups.io \
    /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