efi_loader: Add runtime services
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 <agraf@suse.de> Reviewed-by:
Simon Glass <sjg@chromium.org> Tested-by:
Simon Glass <sjg@chromium.org>
Showing
- arch/arm/config.mk 4 additions, 0 deletionsarch/arm/config.mk
- arch/arm/cpu/armv8/u-boot.lds 16 additions, 0 deletionsarch/arm/cpu/armv8/u-boot.lds
- arch/arm/cpu/u-boot.lds 30 additions, 0 deletionsarch/arm/cpu/u-boot.lds
- arch/arm/lib/sections.c 4 additions, 0 deletionsarch/arm/lib/sections.c
- board/ti/am335x/u-boot.lds 30 additions, 0 deletionsboard/ti/am335x/u-boot.lds
- common/board_r.c 4 additions, 0 deletionscommon/board_r.c
- include/efi_loader.h 17 additions, 0 deletionsinclude/efi_loader.h
- lib/efi_loader/efi_boottime.c 3 additions, 3 deletionslib/efi_loader/efi_boottime.c
- lib/efi_loader/efi_runtime.c 290 additions, 0 deletionslib/efi_loader/efi_runtime.c
lib/efi_loader/efi_runtime.c
0 → 100644
Please register or sign in to comment