[U-Boot] [RFC] efi: variable support

Alexander Graf agraf at suse.de
Wed Jul 12 12:57:04 UTC 2017



On 25.06.17 00:29, Rob Clark wrote:
> Mapping from EFI variables to grub variables.  Still almost as many
> TODOs as lines of code, but just figured I'd send out an early version
> for comments.
> 
> I was thinking of it as a useful way for u-boot to pass values to grub
> (although grub is still missing a way for grub scripts to retrieve
> UEFI variables).
> 
> The rough idea is to encode GUID + variable name plus "efi_" prefix
> (to avoid unintended u-boot variables leaking into the UEFI world).
> And then encode the type (and attributes?) in the string value of the
> variable.  Ie. something like:
> 
>    setenv efi_8be4df6193ca11d2aa0d00e098032b8c_OsIndicationsSupported (u64)0

That's a pretty nice idea altogether, I agree. I don't think the goal 
you have in mind is good though.

I don't really think we should ever allow grub to override the device 
tree files - unless for development purposes. The reason we are in the 
dt mess we are in today is because it's too easy. People associate 
device trees with kernels, not hardware. That's just plain wrong: device 
trees describe hardware, not Linux interfaces.

As for real variable support (for example to boot using a native EFI 
boot order), I think this approach can work. But before committing to a 
specific path to take, I'd like to see a full solution that allows us to 
maintain these variables consistently in runtime services too, as that's 
required for the boot order.

So far my thinking was that maybe we could push all u-boot variables 
into EL3. That way we could still call into the same space during Linux 
execution. However of course only if there is separate storage to put 
those variables into...


Alex


More information about the U-Boot mailing list