All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/16] efi_loader: non-volatile and runtime variables
@ 2020-03-27  5:27 Heinrich Schuchardt
  2020-03-27  5:27 ` [PATCH 01/16] cmd: efidebug: fix int to pointer cast Heinrich Schuchardt
                   ` (16 more replies)
  0 siblings, 17 replies; 53+ messages in thread
From: Heinrich Schuchardt @ 2020-03-27  5:27 UTC (permalink / raw)
  To: u-boot

Up to UEFI variable where stored in U-Boot environment variables. Saving
UEFI variables was not possible without saving the U-Boot environment
variables.

With this patch series file ubootefi.var in the EFI system partition is
used for saving UEFI variables.

Furthermore the UEFI variables are exposed at runtime and are writable at
runtime.

The missing piece is transferring the variable changed at runtime back to
the firmware. I will evaluate the following options:

* using a fixed memory address: we could read the memory area after a
  reboot
* using a systemd service which is called before the system goes down

Many of the CCs are due to the changes in disk/part_efi.c. Here the logic
to detect the EFI system partition is introduced (patch 04/16).

Heinrich Schuchardt (16):
  cmd: efidebug: fix int to pointer cast
  efi_loader: only reserve memory if fdt node enabled
  efi_loader: eliminate EFI_CALL() for variable access
  part: detect EFI system partition
  efi_loader: identify EFI system partition
  efi_loader: keep attributes in efi_set_variable_int()
  efi_loader: export initialization state
  efi_loader: change setup sequence
  efi_loader: imply FAT, FAT_WRITE
  efi_loader: UEFI variable persistence
  efi_loader: export efi_convert_pointer()
  efi_loader: optional pointer for ConvertPointer
  efi_loader: memory buffer for variables
  efi_loader: use memory based variable storage
  efi_loader: enable UEFI variables at runtime
  efi_selftest: adjust runtime test for variables

 cmd/bootefi.c                                 |   3 +-
 cmd/efidebug.c                                |  71 +-
 cmd/nvedit_efi.c                              |  18 +-
 disk/part_dos.c                               |  10 +-
 disk/part_efi.c                               |  12 +-
 include/efi_api.h                             |   2 +
 include/efi_loader.h                          |  22 +
 include/efi_variable.h                        |  52 ++
 include/part.h                                |  11 +-
 lib/efi_loader/Kconfig                        |  10 +
 lib/efi_loader/Makefile                       |   2 +
 lib/efi_loader/efi_bootmgr.c                  |  20 +-
 lib/efi_loader/efi_disk.c                     |  20 +
 lib/efi_loader/efi_runtime.c                  |  20 +-
 lib/efi_loader/efi_setup.c                    |  54 +-
 lib/efi_loader/efi_variable.c                 | 635 ++++++------------
 lib/efi_loader/efi_variables_file.c           | 235 +++++++
 lib/efi_loader/efi_variables_mem.c            | 324 +++++++++
 .../efi_selftest_variables_runtime.c          |  47 +-
 19 files changed, 1037 insertions(+), 531 deletions(-)
 create mode 100644 include/efi_variable.h
 create mode 100644 lib/efi_loader/efi_variables_file.c
 create mode 100644 lib/efi_loader/efi_variables_mem.c

--
2.25.1

^ permalink raw reply	[flat|nested] 53+ messages in thread

end of thread, other threads:[~2021-01-02 22:15 UTC | newest]

Thread overview: 53+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-27  5:27 [PATCH 00/16] efi_loader: non-volatile and runtime variables Heinrich Schuchardt
2020-03-27  5:27 ` [PATCH 01/16] cmd: efidebug: fix int to pointer cast Heinrich Schuchardt
2020-03-27  5:27 ` [PATCH 02/16] efi_loader: only reserve memory if fdt node enabled Heinrich Schuchardt
2020-03-27  5:27 ` [PATCH 03/16] efi_loader: eliminate EFI_CALL() for variable access Heinrich Schuchardt
2020-03-27  5:27 ` [PATCH 04/16] part: detect EFI system partition Heinrich Schuchardt
2020-03-27  6:35   ` Punit Agrawal
2020-03-27  7:21     ` Heinrich Schuchardt
2020-03-27  5:27 ` [PATCH 05/16] efi_loader: identify " Heinrich Schuchardt
2020-03-27  5:27 ` [PATCH 06/16] efi_loader: keep attributes in efi_set_variable_int() Heinrich Schuchardt
2020-03-27  5:27 ` [PATCH 07/16] efi_loader: export initialization state Heinrich Schuchardt
2020-03-27  5:27 ` [PATCH 08/16] efi_loader: change setup sequence Heinrich Schuchardt
2020-03-27  5:27 ` [PATCH 09/16] efi_loader: imply FAT, FAT_WRITE Heinrich Schuchardt
2020-03-31  5:28   ` AKASHI Takahiro
2020-03-31  6:44   ` Heinrich Schuchardt
2020-03-31  7:44     ` AKASHI Takahiro
2020-03-31  8:20       ` Mark Kettenis
2020-04-01  0:31         ` AKASHI Takahiro
2020-04-01  6:43           ` Heinrich Schuchardt
2020-04-01 17:56           ` Mark Kettenis
2020-04-02  1:34             ` AKASHI Takahiro
2020-03-31 13:08       ` Heinrich Schuchardt
2020-03-31 23:57         ` AKASHI Takahiro
2020-04-01  1:14           ` AKASHI Takahiro
2020-04-01  6:31             ` Heinrich Schuchardt
2020-04-01  7:04               ` AKASHI Takahiro
2020-04-02 12:33                 ` Ilias Apalodimas
2020-03-27  5:27 ` [PATCH 10/16] efi_loader: UEFI variable persistence Heinrich Schuchardt
2020-03-27  8:07   ` Punit Agrawal
2020-03-27 10:30     ` Heinrich Schuchardt
2020-03-30 10:03       ` Punit Agrawal
2020-04-06 16:06       ` Ilias Apalodimas
2021-01-02 22:15   ` Peter Robinson
2020-03-27  5:27 ` [PATCH 11/16] efi_loader: export efi_convert_pointer() Heinrich Schuchardt
2020-03-27  5:27 ` [PATCH 12/16] efi_loader: optional pointer for ConvertPointer Heinrich Schuchardt
2020-03-31  5:23   ` AKASHI Takahiro
2020-03-31  6:52   ` Heinrich Schuchardt
2020-03-31  7:51     ` AKASHI Takahiro
2020-03-27  5:27 ` [PATCH 13/16] efi_loader: memory buffer for variables Heinrich Schuchardt
2020-03-27  8:09   ` Punit Agrawal
2020-03-27 10:45     ` Heinrich Schuchardt
2020-03-30 10:50       ` Punit Agrawal
2020-03-27  5:27 ` [PATCH 14/16] efi_loader: use memory based variable storage Heinrich Schuchardt
2020-03-27 19:44 ` [PATCH 00/16] efi_loader: non-volatile and runtime variables Simon Glass
2020-03-28  6:42   ` Heinrich Schuchardt
2020-03-31  6:05 ` [PATCH 15/16] efi_loader: enable UEFI variables at runtime Heinrich Schuchardt
2020-03-31  6:05   ` [PATCH 15/16] efi_selftest: adjust runtime test for variables Heinrich Schuchardt
2020-04-01  1:41   ` [PATCH 15/16] efi_loader: enable UEFI variables at runtime AKASHI Takahiro
2020-04-01  6:26     ` Heinrich Schuchardt
2020-04-01  6:51       ` AKASHI Takahiro
2020-03-31  6:07 ` [PATCH 16/16] efi_selftest: adjust runtime test for variables Heinrich Schuchardt
2020-04-01  1:05   ` AKASHI Takahiro
2020-04-01  6:37     ` Heinrich Schuchardt
2020-04-01  7:27       ` AKASHI Takahiro

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.