[U-Boot] [PATCH v3 14/28] efi: Add support for loading U-Boot through an EFI stub
Simon Glass
sjg at chromium.org
Wed Aug 5 20:03:14 CEST 2015
On 5 August 2015 at 01:59, Bin Meng <bmeng.cn at gmail.com> wrote:
> On Wed, Aug 5, 2015 at 2:33 AM, Simon Glass <sjg at chromium.org> wrote:
>> It is useful to be able to load U-Boot onto a board even if is it already
>> running EFI. This can allow access to the U-Boot command interface, flexible
>> booting options and easier development.
>>
>> The easiest way to do this is to build U-Boot as a binary blob and have an
>> EFI stub copy it into RAM. Add support for this feature, targeting 32-bit
>> initially.
>>
>> Also add a way to detect when U-Boot has been loaded via a stub. This goes
>> in common.h since it needs to be widely available so that we avoid redoing
>> initialisation that should be skipped.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> Improvements to how the payload is built:
>> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
>> ---
>>
>> Changes in v3:
>> - Fix calling convention to starting U-Boot in the 32-bit stub
>> - Rename LDFLAGS_EFI to LDFLAGS_EFI_PAYLOAD and move into this patch
>> - Use quiet_cmd_xxx to link the payload
>>
>> Changes in v2:
>> - Add a comment as to why we must call exit_boot_services() twice
>> - Drop \n\t at the end of a one-line asm statement
>> - Merge in Bin's implementation of adding a U-Boot payload with objcopy
>> - Remove comment about reset_cpu() returning to EFI in the stub
>> - Rename CONFIG_ARCH_EFI to CONFIG_EFI_APP
>>
>> Makefile | 24 +++++
>> arch/x86/config.mk | 7 ++
>> include/common.h | 7 ++
>> include/efi.h | 4 +
>> lib/efi/Kconfig | 21 ++++
>> lib/efi/Makefile | 9 ++
>> lib/efi/efi_stub.c | 304 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>> 7 files changed, 376 insertions(+)
>> create mode 100644 lib/efi/efi_stub.c
>>
[snip]
>> --
>
> Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
>
> Tested on QEMU 32-bit and 64-bit
> Tested-by: Bin Meng <bmeng.cn at gmail.com>
Applied to u-boot-x86.
More information about the U-Boot
mailing list