On 1 February 2016 at 19:45, Alexander Graf <ag...@suse.de> wrote: > After booting has finished, EFI allows firmware to still interact with the OS > using the "runtime services". These callbacks live in a separate address > space, > since they are available long after U-Boot has been overwritten by the OS. > > This patch adds enough framework for arbitrary code inside of U-Boot to become > a runtime service with the right section attributes set. For now, we don't > make > use of it yet though. > > We could maybe in the future map U-boot environment variables to EFI variables > here. > > Signed-off-by: Alexander Graf <ag...@suse.de> > > --- > > v1 -> v2: > > - Fix runtime service sections > - Add runtime detach > - Enable runtime relocations > - Add get_time > - Fix relocation > - Fix 32bit > - Add am335x support > - Move section definition to header > - Add systab to runtime section > - Add self-relocation hook table > - Fix self-relocation > - Relocate efi_runtime section early during bootup > - Fix return values for a number of callbacks to be more UEFI compliant > - Move to GPLv2+ > > v2 -> v3: > > - Patch reset to NULL > - Add EFIAPI to function prototypes > - Document header > - Add dm.h include > - Remove non-dm rtc support > - Return DEVICE_ERROR in rtc path > --- > arch/arm/config.mk | 4 + > arch/arm/cpu/armv8/u-boot.lds | 16 +++ > arch/arm/cpu/u-boot.lds | 30 +++++ > arch/arm/lib/sections.c | 4 + > board/ti/am335x/u-boot.lds | 30 +++++ > common/board_r.c | 4 + > include/efi_loader.h | 17 +++ > lib/efi_loader/efi_boottime.c | 6 +- > lib/efi_loader/efi_runtime.c | 290 > ++++++++++++++++++++++++++++++++++++++++++ > 9 files changed, 398 insertions(+), 3 deletions(-) > create mode 100644 lib/efi_loader/efi_runtime.c
Reviewed-by: Simon Glass <s...@chromium.org> Tested on Beaglebone Black and Minnowboard MAX: Tested-by: Simon Glass <s...@chromium.org> _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot