public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Michael Walle <mwalle@kernel.org>
To: Mark Kettenis <mark.kettenis@xs4all.nl>
Cc: xypron.glpk@gmx.de, Abdellatif.ElKhlifi@arm.com,
	Drew.Reed@arm.com, ilias.apalodimas@linaro.org, nd@arm.com,
	sjg@chromium.org, u-boot@lists.denx.de
Subject: Re: Adding EFI runtime support to the Arm's FF-A bus
Date: Tue, 19 Dec 2023 13:47:07 +0100	[thread overview]
Message-ID: <f2eb636cd895aae348d4357537267fd2@kernel.org> (raw)
In-Reply-To: <87plz2nzr1.fsf@bloch.sibelius.xs4all.nl>

Hi Mark,

>> > Any runtime device drivers for variable storage should not be in the
>> > U-Boot runtime but live in the secure world (e.g. OP-TEE) FF-A is the
>> > new ARM protocol for talking to the secure world and hence fits into
>> > the picture.
>> 
>> What if I just want a simple embedded boot stack where I don't
>> want any secure world and just want to be able to boot a COTS linux
>> distribution via EFI?
> 
> That already works for many Linux distros.  As long as the distro
> installs the appropriate BOOTxxx.EFI file you don't actually need to
> set any EFI variables for the OS to boot.  It can't get any simpler
> than that.  Of the main Linux distros it seems that only Debian
> doesn't do this.  Someone should probably lobby Debian to do this as
> well as it would mean that Debian would just work on an EBBR compliant
> system.

I know. Last time I checked CentOS (or was it Ubuntu?) tried to
set EFI variables and the installer just failed. Might be fixed now,
though.

> Things get more complicated if you want to install multiple OSes.
> Then having EFI variable support makes things a lot more
> straightforward.
> 
> And of course EFI secure boot needs EFI variable support as well (with
> proper support) for authenticated EFI variables.  But IMHO that no
> longer falls into "simple embedded boot stack" territory.

Thats clear.

>> Assuming, that there might be a simple dedicated EEPROM to store the
>> variables which is not exposed to linux, is that something which would
>> be rejected by u-boot mainline now?
> 
> Not necessarily.  But such an approach will have limitations:
> 
> * Completely hiding the EEPROM from the OS may be hard.  Even if you
>   have a dedicated SPI controller for the EEPROM things like the SPI
>   bus clock or power domains may still be under OS control.

Fair point, but I was thinking about the ls1028a for example, where - if
I remember correctly - there was one dedicated i2c controller in a sense
of isolation, probably to use with a secure OS. Also there is no dynamic
clocking.

So, technically it should be possible, even with a low overhead, like no
device model etc, which could reside in the efi os services. Just 
testing
the waters here, not that I'm interested in adding support for that in
u-boot. Just a bit concerned that it (EFI variables) will only work with
a full stack (tf-a, optee) in the future.

> * It is not possible to properly implement authenticated variables for
>   secure boot if the EEPROM and associated hardware is just removed
>   from the device tree but still accessable to the OS.  An
>   implementation that pretends the variables are "secure" will
>   probably be rejected.

Sure. I excluded any secure stuff. But, with that i2c controller i was
talking about earlier, it should be possible to mark it as EL3 access
only.

Thanks,
-michael

  reply	other threads:[~2023-12-19 12:47 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-14 15:53 Adding EFI runtime support to the Arm's FF-A bus Abdellatif El Khlifi
2023-12-14 16:47 ` Mark Kettenis
2023-12-14 19:47   ` Ilias Apalodimas
2023-12-18 15:01     ` Simon Glass
2023-12-18 20:59       ` Heinrich Schuchardt
2023-12-19 10:11         ` Michael Walle
2023-12-19 12:27           ` Mark Kettenis
2023-12-19 12:47             ` Michael Walle [this message]
2023-12-19 15:40               ` Tom Rini
2023-12-20  6:17               ` Ilias Apalodimas
2023-12-20 15:43                 ` Peter Robinson
2023-12-20 22:57                   ` Shantur Rathore
2023-12-21  6:29                     ` Ilias Apalodimas
2023-12-21 14:36                       ` Shantur Rathore
2023-12-27 14:06                         ` Ilias Apalodimas
2023-12-19 15:22         ` Abdellatif El Khlifi
2023-12-20  4:47         ` Simon Glass
2023-12-18 16:59     ` Abdellatif El Khlifi
2024-01-08 14:12       ` Abdellatif El Khlifi
2024-01-08 14:27         ` Heinrich Schuchardt
2024-01-08 14:35           ` Ilias Apalodimas
2024-01-08 16:34             ` Abdellatif El Khlifi
2023-12-18 17:01   ` Abdellatif El Khlifi

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=f2eb636cd895aae348d4357537267fd2@kernel.org \
    --to=mwalle@kernel.org \
    --cc=Abdellatif.ElKhlifi@arm.com \
    --cc=Drew.Reed@arm.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=mark.kettenis@xs4all.nl \
    --cc=nd@arm.com \
    --cc=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    --cc=xypron.glpk@gmx.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