efi_loader: Add runtime services
authorAlexander Graf <agraf@suse.de>
Fri, 4 Mar 2016 00:10:01 +0000 (01:10 +0100)
committerTom Rini <trini@konsulko.com>
Tue, 15 Mar 2016 22:03:10 +0000 (18:03 -0400)
commit50149ea37a21dcbed675297f1536c31a7db39c19
treed6a18d12c1306cbc1306baed0aeea5ff2f5d2ae4
parentc1311ad4e0d1759788601513fac0f65620d40472
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>
arch/arm/config.mk
arch/arm/cpu/armv8/u-boot.lds
arch/arm/cpu/u-boot.lds
arch/arm/lib/sections.c
board/ti/am335x/u-boot.lds
common/board_r.c
include/efi_loader.h
lib/efi_loader/efi_boottime.c
lib/efi_loader/efi_runtime.c [new file with mode: 0644]