[U-Boot] [PATCH v3 18/28] efi: Add 64-bit payload support

Simon Glass sjg at chromium.org
Wed Aug 5 20:03:24 CEST 2015


On 5 August 2015 at 02:02, Bin Meng <bmeng.cn at gmail.com> wrote:
> On Wed, Aug 5, 2015 at 2:33 AM, Simon Glass <sjg at chromium.org> wrote:
>> Most EFI implementations use 64-bit. Add a way to build U-Boot as a 64-bit
>> EFI payload. The payload unpacks a (32-bit) U-Boot and starts it. This can
>> be enabled for x86 boards at present.
>>
>> 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:
>> - Add spaces around EFIARCH=
>> - Use CONFIG_SYS_MONITOR_LEN as a more accurate value for U-Boot's size
>>
>> Changes in v2:
>> - Add -no-red-zone for 64-bit only
>> - Check the GDT selector's base and limit against the target address
>> - Drop use of CONFIG_X86_64 since we don't support a 64-bit EFI application yet
>> - Merge in Bin's implementation of adding a U-Boot payload with objcopy
>> - Move the 64-bit crt and reloc code into this patch
>> - Move the 64-bit efi.h additions into this patch
>> - Rename GDT_4GB to GDT_4KB
>>
>>  Makefile                           |  2 +-
>>  arch/x86/config.mk                 | 10 ++++++
>>  arch/x86/include/asm/types.h       |  5 ++-
>>  arch/x86/lib/efi/crt0-efi-x86_64.S | 51 ++++++++++++++++++++++++++
>>  include/efi.h                      |  7 ++++
>>  lib/efi/efi_stub.c                 | 74 +++++++++++++++++++++++++++++++++++---
>>  6 files changed, 143 insertions(+), 6 deletions(-)
>>  create mode 100644 arch/x86/lib/efi/crt0-efi-x86_64.S
>>
[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>


More information about the U-Boot mailing list