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
next prev parent 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