[PATCH v9 0/9] efi: Improvements to U-Boot running on top of UEFI

Heinrich Schuchardt xypron.glpk at gmx.de
Thu Jan 13 22:08:53 CET 2022



Am 13. Januar 2022 20:39:15 MEZ schrieb Simon Glass <sjg at chromium.org>:
>Hi Heinrich,
>
>On Tue, 4 Jan 2022 at 03:51, Simon Glass <sjg at chromium.org> wrote:
>>
>> At present U-Boot can be built as an EFI app, but it is really just for
>> testing, with very few features. Instead, the payload build is used for
>> booting on top of UEFI, where U-Boot takes over the machine immediately
>> and supplies its own drivers.
>>
>> But the app could be made more useful.
>>
>> This series provides access to EFI block devices and the video console
>> within U-Boot. It also restructures the app to make it possible to boot
>> a kernel, although further work is needed to implement this.
>>
>> This can be thought of as making U-Boot perform a little like 'grub', in
>> that it runs purely based on UEFI-provided services.
>>
>> Of course a lot more work is required, but this is a start.
>>
>> Note: It would be very useful to include qemu tests of the app and stub
>> in CI.
>>
>> This is available at u-boot-dm/efi-working
>>
>> Changes in v9:
>> - Add a comment as to why printf() cannot be used
>> - Comment out storing the EFI memory map in the app and update commit message
>> - Drop changes previously applied
>>
>> Changes in v8:
>> - Add new patch to tidy up header comments
>>
>> Changes in v7:
>> - Rebase on -master instead of -next
>>
>> Changes in v6:
>> - Fix typo in function comment
>>
>> Changes in v5:
>> - Add new patch to avoid using the 64-bit link script for the EFI app
>> - Add new patch to build the 64-bit app properly
>> - Add new patch to round out the link script for 64-bit EFI
>> - Add new patch to set the correct link flags for the 64-bit EFI app
>> - Add new patch to tweak the code used for the 64-bit EFI app
>> - Add various patches to fix up the 64-bit app so that it boots
>>
>> Changes in v2:
>> - Add a sentence about what the patch does
>> - Add new patch to support the efi command in the app
>>
>> Simon Glass (9):
>>   efi: Move exit_boot_services into a function
>>   x86: efi: Update efi_get_next_mem_desc() to avoid needing a map
>>   efi: Support the efi command in the app
>>   x86: efi: Tweak the code used for the 64-bit EFI app
>>   x86: efi: Round out the link script for 64-bit EFI
>>   x86: efi: Don't use the 64-bit link script for the EFI app
>>   x86: efi: Set the correct link flags for the 64-bit EFI app
>>   efi: Build the 64-bit app properly
>>   efi: Tidy up some comments in efi header
>>
>>  Makefile                        |  4 +-
>>  arch/x86/config.mk              | 15 +++++--
>>  arch/x86/cpu/config.mk          |  2 +-
>>  arch/x86/cpu/efi/payload.c      |  8 ++--
>>  arch/x86/cpu/x86_64/cpu.c       |  5 +++
>>  arch/x86/lib/Makefile           |  5 +--
>>  arch/x86/lib/elf_x86_64_efi.lds |  5 ++-
>>  arch/x86/lib/relocate.c         |  2 +
>>  cmd/Makefile                    |  2 +-
>>  cmd/efi.c                       | 78 +++++++++++++++++++++------------
>>  include/efi.h                   | 64 +++++++++++++++++++++++----
>>  lib/efi/efi.c                   | 72 ++++++++++++++++++++++++++++++
>>  lib/efi/efi_app.c               | 42 ++++++++++++++++++
>>  lib/efi/efi_stub.c              | 66 +++++-----------------------
>>  14 files changed, 263 insertions(+), 107 deletions(-)
>>
>> --
>> 2.34.1.448.ga2b2bfdf31-goog
>>
>
>Does this series look OK to you now? I'd like to put it to bed.

I just need to find time to create the next pull request.

Best regards

Heinrich


>
>Regards,
>Simon


More information about the U-Boot mailing list