
# My patch is more or less a RFC to raise attention.
On Wed, Dec 05, 2018 at 11:53:42AM +0530, Sumit Garg wrote:
Hi Akashi,
On Wed, 28 Nov 2018 at 11:28, AKASHI Takahiro takahiro.akashi@linaro.org wrote:
As the subject suggested, this patch set allows any efi variable to be volatile or non-volatile as UEFI specification describes.
With my efishell patch[1] with patch #2, you can try as follows: => efi setvar PlatformLang en => efi setvar -nv BootNext =H0200 => env save
How do you expect usage of "EFI_VARIABLE_NON_VOLATILE" attribute to work during boot-time services as we don't have "env save" command option as a boot-time service?
Take example scenario with EDK2 shell launched from u-boot and tries to set non-volatile efi variable.
I know the issue, but
IMHO, support should be added to "efi_set_variable" to save variable with "EFI_VARIABLE_NON_VOLATILE" attribute to non volatile storage.
I also hesitate to implement such a behavior to efi_set_variable as it ends up writing to flash every time. Please note that data on storage is a sorted list in plain text and so updating it can be painful.
-Takahiro Akashi
-Sumit
BootNext will be preserved across reboot, while PlatformLang not.
Please note that, currently, setvar command does not automatically append NON_VOLATILE attribute, while UEFI specification expects that PlatformLang be non-volatile, you'd better also specify -nv for this variable here.
Patch #2/#3 depend on my efishell patch[1]. Patch #4 depends on my BootNext patch[2].
Patch[1] and [2] have not been merged yet, so patch#1 can be applied on its own.
[1] https://lists.denx.de/pipermail/u-boot/2018-November/346450.html [2] https://lists.denx.de/pipermail/u-boot/2018-November/349281.html
AKASHI Takahiro (4): efi_loader: support non-volatile variable behavior cmd: efishell: support -nv option to setvar sub-command cmd: efishell: make Boot####/BootOrder variable non-volatile efi_loader: bootmgr: make BootNext non-volatile
cmd/efishell.c | 20 ++++++++--- env/env.c | 4 +++ include/efi_loader.h | 1 + lib/efi_loader/efi_bootmgr.c | 3 +- lib/efi_loader/efi_variable.c | 64 +++++++++++++++++++++++++++++++++-- 5 files changed, 84 insertions(+), 8 deletions(-)
-- 2.19.1
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot