efi: Set Variable Runtime implementation

Peter Robinson pbrobinson at gmail.com
Sat Nov 25 07:18:54 CET 2023


Hi Shantur,

On Fri, Nov 24, 2023 at 11:55 PM Shantur Rathore <i at shantur.com> wrote:
>
> Hi Ilias,
>
> On Fri, Nov 24, 2023 at 10:50 PM Ilias Apalodimas
> <ilias.apalodimas at linaro.org> wrote:
> >
> > Hi Shantur
> >
> > On Fri, 24 Nov 2023 at 18:51, Shantur Rathore <i at shantur.com> wrote:
> > >
> > > Hi Heinrich,
> > >
> > > I am trying to work out how to enable the SetVariableRT service in
> > > U-Boot and came across your patch [1] which initially had the
> > > SetVariable RT service enabled in EFI but in the final patch this was
> > > removed.
> > > I am hoping to implement it on top of the SPI Flash EFI store [2] to
> > > be able to set Boot order and boot items from Linux the UEFI way.
> > >
> > > Can I pick your brain on why it was dropped in the patch?
> > > Is there any limitation in SetVariableRT service ?
> >
> > I recently had a talk about it in Plumbers [0]. Generally speaking, RT
> > + hardware owned by the kernel is a very weird combination since you
> > can't guarantee exclusive access to the flash or the bus and you have
> > to preserve a *lot* of code alive in u-boot.
> >
> > I'll respond to your v1 patchset and we can discuss details there as well.
> >
> > [0] https://lpc.events/event/17/contributions/1653/
>
> Thanks for the background and helping me understand the problem.
> Makes me wonder how things work in the PC world.
> U-boot being only ~1MB, can we not leave it all in memory and maybe
> just disable SPI access to Linux.

That's basically it, on x86 there's specific HW that's owned by
firmware, I don't know the exact low level details of how that works.

I think x86 devices generally use eSPI for this HW [1] but I don't
know the low level details. The Arm SBSA (Server HW spec) and SBBR
(Server Base Boot Requirements) specs that are key to ServerReady may
go into some details too if you're curious.

BTW I plan to test your other patches on the Pinebook Pro.

[1] https://www.totalphase.com/blog/2021/09/what-is-the-espi-protocol-and-how-does-it-improve-upon-lpc/


More information about the U-Boot mailing list