All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ardb@kernel.org>
To: u-boot@lists.denx.de
Subject: Fit images and EFI_LOAD_FILE2_PROTOCOL
Date: Tue, 6 Oct 2020 19:50:32 +0200	[thread overview]
Message-ID: <CAMj1kXEmb0TZSLZWygHDWsYeco0vHUABE4EwUS+k3b51hyXyjQ@mail.gmail.com> (raw)
In-Reply-To: <CAHFG_=VPk+gYQPk5jVrZkakC9gTQzt-C5BLS79odaCaOCyjKvw@mail.gmail.com>

On Tue, 6 Oct 2020 at 17:09, Fran?ois Ozog <francois.ozog@linaro.org> wrote:

>
>
> On Tue, 6 Oct 2020 at 16:46, Ard Biesheuvel <ardb@kernel.org> wrote:
>
>>
>>
>> On Tue, 6 Oct 2020 at 16:22, Fran?ois Ozog <francois.ozog@linaro.org>
>> wrote:
>>
>>> Ard, there is a question for you in the below thread ;-)
>>>
>>> On Tue, 6 Oct 2020 at 15:02, Grant Likely <grant.likely@arm.com> wrote:
>>>
>>>>
>>>>
>>>> On 06/10/2020 13:52, Heinrich Schuchardt wrote:
>>>> > On 06.10.20 14:43, Grant Likely wrote:
>>>> >
>>>> >>
>>>> >> Current U-Boot by default uses the same DT image for both U-Boot
>>>> >> internal setup and to provide to the OS. This should be split so that
>>>> >> the U-Boot internal version has what U-Boot needs without needs to
>>>> track
>>>> >> mainline Linux DTB schema.
>>>> >>
>>>> >> I've been looking into a generic config for adding a separate OS-dtb
>>>> to
>>>> >> U-Boot that is not used internally and is only passed to the OS. That
>>>> >> would solve the problem you're seeing above.
>>>
>>> >
>>>> > What would be the advantage of building said second device-tree into
>>>> > U-Boot instead of loading it from a (possibly signed) file?
>>>>
>>>> I would see that as an implementation detail, but from the OS point of
>>>> view EBBR requires the firmware to provide a DTB to the OS without the
>>>> OS having any involvement in providing it. The easiest solution is to
>>>> embed the OS dtb into U-Boot, but it could be loaded and verified from
>>>> a
>>>> file as well.
>>>>
>>> To strongly state that the DT is a hardware description entity,
>>> disconnected from open source projects consuming it,
>>>  I would still build the DT for the Booted Payload in the context of
>>> devicetree.org and append it to either FIP or U-Boot.
>>> From a hierarchical perspective FIP would make more sense (I was told by
>>> the LinuxBoot guys that the ACPI tables are
>>> tied to PEI so that they can use them while replacing EDK2. I am not
>>> sure my understanding is correct: Ard ?)
>>>
>>
>> No that is a lie. In EDK2 based firmwares, there are DXE protocols used
>> for publishing and manipulating ACPI tables, and for exposing them via the
>> config table array when the boot finally occurs.
>>
>> Are the ACPI tables "static" blobs that are integrated into the firmware
> image with some late fixups in the DXE phase or are they entirely built
> programmatically during the DXE phase? In the case they are static base
> blobs in the firmware image, are they used (to access hardware, not
> manipulated) in all phases (SEC, PEI, DXE) ?
>

They could be generated from scratch or incorporated fully baked. In either
case, the firmware itself never consumes the ACPI tables, it only produces
them for consumption by the OS.


>
>
>> I should also point out (for anyone that hadn't noticed) that the
>> Linuxboot guys have a highly skewed and opinionated view of UEFI boot,
>> which seems mostly based on bad experiences with IBV provided, OEM mangled
>> builds for proprietary code bases of which it is unknown how much they are
>> based on EDK2 (or UEFI for that matter). The IBVs used to claim that they
>> carried their own complete implementations of the PI and UEFI and
>> specifications, but everybody knows that is a lie, especially for firmwares
>> built for ARM machines.
>>
>> as I consider that PEI and TF-A are at the same layer I am inclined to
>>> promote this.
>>>
>>
>> TF-A is secure firmware, PEI is non-secure firmware, so I suppose it
>> depends on how you defined your layers. Although in the x86 context, PEI
>> executes when the SMM execution context has not split off yet, so it s
>> closer to a secure world firmware than it is on ARM (same applies to DXE
>> before EndOfDxe, but the boundary line is not as clear in this case)
>>
> I was biased by the x86 model here...
>
>>
>>
>> Should the DTB cause problems, the one embedded in the FIT would be
>>> replacing the platform base one
>>>  (I assume this is your "loaded and verified from a file" comment).
>>>
>>>>
>>>> g.
>>>>
>>>
>>>
>>> --
>>> Fran?ois-Fr?d?ric Ozog | *Director Linaro Edge & Fog Computing Group*
>>> T: +33.67221.6485
>>> francois.ozog at linaro.org | Skype: ffozog
>>>
>>>
>
> --
> Fran?ois-Fr?d?ric Ozog | *Director Linaro Edge & Fog Computing Group*
> T: +33.67221.6485
> francois.ozog at linaro.org | Skype: ffozog
>
>

  parent reply	other threads:[~2020-10-06 17:50 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-03  8:51 Fit images and EFI_LOAD_FILE2_PROTOCOL Heinrich Schuchardt
2020-10-03 11:14 ` François Ozog
2020-10-03 11:16   ` François Ozog
2020-10-03 13:12     ` Ard Biesheuvel
2020-10-03 16:35       ` Heinrich Schuchardt
2020-10-03 16:59         ` Ard Biesheuvel
2020-10-05  6:33       ` Ilias Apalodimas
2020-10-05 14:12       ` François Ozog
2020-10-05 15:25         ` Daniel Thompson
2020-10-05 17:14           ` François Ozog
2020-10-04 23:41 ` Cristian Ciocaltea
2020-10-05 22:37 ` Grant Likely
2020-10-06  4:35   ` Heinrich Schuchardt
2020-10-06  7:20     ` Ard Biesheuvel
2020-10-06  8:00       ` François Ozog
2020-10-06  8:05         ` Ard Biesheuvel
2020-10-06 10:13           ` François Ozog
2020-10-06 10:23             ` Ard Biesheuvel
2020-10-06  9:58         ` Daniel Thompson
2020-10-06 10:38     ` Grant Likely
2020-10-06 12:04       ` François Ozog
2020-10-06 12:36         ` Heinrich Schuchardt
2020-10-06 12:43           ` Grant Likely
2020-10-06 12:52             ` Heinrich Schuchardt
2020-10-06 13:02               ` Grant Likely
2020-10-06 14:22                 ` François Ozog
2020-10-06 14:46                   ` Ard Biesheuvel
2020-10-06 15:08                     ` François Ozog
2020-10-06 15:32                       ` François Ozog
2020-10-06 17:50                       ` Ard Biesheuvel [this message]
2020-10-06 13:00           ` François Ozog
2020-10-06 12:38         ` Grant Likely
2020-10-06 12:05       ` Heinrich Schuchardt
2020-10-06 12:15         ` François Ozog
2020-10-06 12:41       ` Ilias Apalodimas
2020-10-06 12:46         ` Grant Likely
2020-10-06 13:12           ` Heinrich Schuchardt
2020-10-06 14:09             ` François Ozog

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=CAMj1kXEmb0TZSLZWygHDWsYeco0vHUABE4EwUS+k3b51hyXyjQ@mail.gmail.com \
    --to=ardb@kernel.org \
    --cc=u-boot@lists.denx.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 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.