[PATCH v3 00/12] efi: Improvements to booting and debugging

Simon Glass sjg at chromium.org
Sun Mar 19 20:30:04 CET 2023


This series provides support for booting a kernel from the EFI app. So
far this is pretty basic, since it only supports the actual booting, not
providing ACPI tables, etc. But it is a start.

It also includes an enhancement to the 'efi' command and a few other
clean-ups.


Changes in v3:
- Use Return instead of Returns
- Update commit message based on Heinrich's comments
- Make this depend on CONFIG_EFI so that EFI_LOADER doesn't get it
- Really drop SMBIOS
- Use %pUl to print the UUID
- Drop unnecessary error message for some that shoudn't happen.

Changes in v2:
- Update commit message to explain why these are needed
- Drop EFI_SMBIOS which exists as SMBIOS_TABLE_GUID
- Drop unwanted EFI_GUID_SNBIOS
- Drop EFI_GUID_EFI_ACPI2 which exists as EFI_ACPI_TABLE_GUID
- Add new patch to enable GUID names with EFI app and payload
- Add new patch to split out table-listing code into a new file
- Make use of common code
- Fix typos in commit message

Simon Glass (12):
  efi: Set RUN_64BIT correctly for the EFI app
  x86: Adjust bootparam.h to be more like linux
  x86: Add return-value comment to cpu_jump_to_64bit()
  x86: Support booting a 64-bit kernel from 64-bit U-Boot
  x86: Exit EFI boot services before starting kernel
  x86: Support zboot and bootm in the EFI app
  efi: Add another tranch of GUIDs
  efi: Include GUID names with EFI app and payload
  doc: Add help for the efi command
  efi: Split out table-listing code into a new file
  efi: Support showing tables
  efI: Allow packaging a kernel in the debugging script

 arch/x86/Kconfig                 |   4 +-
 arch/x86/include/asm/bootm.h     |  12 +-
 arch/x86/include/asm/bootparam.h |  70 ++++++----
 arch/x86/include/asm/cpu.h       |   1 +
 arch/x86/lib/bootm.c             |  43 ++++--
 arch/x86/lib/zimage.c            |  17 ++-
 cmd/Makefile                     |   4 +-
 cmd/efi.c                        |  31 ++++-
 cmd/efi_common.c                 |  26 ++++
 cmd/efidebug.c                   |   6 +-
 configs/efi-x86_app32_defconfig  |   2 +-
 configs/efi-x86_app64_defconfig  |   3 +-
 doc/usage/cmd/efi.rst            | 219 +++++++++++++++++++++++++++++++
 doc/usage/index.rst              |   1 +
 include/efi.h                    |   9 ++
 include/efi_api.h                |  19 +++
 lib/uuid.c                       |  10 +-
 scripts/build-efi.sh             |  14 +-
 18 files changed, 436 insertions(+), 55 deletions(-)
 create mode 100644 cmd/efi_common.c
 create mode 100644 doc/usage/cmd/efi.rst

-- 
2.40.0.rc1.284.g88254d51c5-goog



More information about the U-Boot mailing list