[U-Boot] [PATCH 06/16] efi_loader: Add runtime services

Simon Glass sjg at chromium.org
Wed Feb 3 04:31:17 CET 2016


On 1 February 2016 at 19:45, Alexander Graf <agraf at 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 <agraf at 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 <sjg at chromium.org>
Tested on Beaglebone Black and Minnowboard MAX:
Tested-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list