[PATCH v9 00/11] efi: Add a test for EFI bootmeth

Simon Glass sjg at chromium.org
Fri Nov 1 16:32:35 CET 2024


Hi all,

On Fri, 1 Nov 2024 at 16:26, Simon Glass <sjg at chromium.org> wrote:
>
> The test coverage for the EFI bootmeth is incomplete since it does not
> actually boot the application.
>
> This series creates a simple test for this purpose. It includes a few
> patches to make this work:
>
> - Revert of an unreviewed patch to change the sandbox efi filename
> - Hang in sandbox virtio due to EFI probing all block devices
>
> Other necessary fixes have already been applied.
>
> Changes in v10:
> - Drop call to exit-boot-services
>
> Changes in v9:
> - Update license
> - Fix 'sevices' typo
> - Move the function into efi_helper.c
> - Split out into a separate change
> - Split out into its own patch
> - Separate into separate patches
> - Add new patch to drop sandbox PXE architecture
> - Mark the image as complete after writing it
> - Fix 'sevices' typo
>
> Changes in v8:
> - Add new patch to control on-host behaviour
> - Add new patch to move default filename to a function
> - Add new patch to report host default-filename in native mode
> - Add new patch to report host default-filename in native mode
>
> Changes in v7:
> - Update commit message
> - Drop patches already applied
> - Drop patch 'Disable ANSI output for tests'
> - Rebase on -master
>
> Changes in v6:
> - Drop the patch to disable sandbox virtio blk with EFI
> - Add new patch to disable the sandbox virtio blk device
> - Deal with sandbox CONFIG_LOGF_FUNC
> - Rebase on -next
> - Drop patches previously applied
> - Drop mention of helloworld since it is no-longer used by this test
>
> Changes in v4:
> - Add efi_loader tag to some patches
> - Split out non-EFI patches into a different series
>
> Changes in v2:
> - Add many new patches to resolve all the outstanding test issues
>
> Simon Glass (11):
>   test: boot: Update bootflow_iter() for console checking
>   efi_loader: Add a test app
>   sandbox: Add a -N flag to control on-host behaviour
>   efi: Move default filename to a function
>   efi_loader: Move get_efi_pxe_arch() to efi_helper
>   efi_loader: Allow reporting the host defaults
>   sandbox: Report host default-filename in native mode
>   efi_loader: Drop sandbox PXE architecture
>   sandbox: virtio: Disable the sandbox virtio blk device
>   test: efi: boot: Set up an image suitable for EFI testing
>   test: efi: boot: Add a test for the efi bootmeth
>
>  arch/Kconfig                        |   3 +-
>  arch/sandbox/cpu/start.c            |  10 ++++
>  arch/sandbox/dts/test.dts           |   2 +-
>  arch/sandbox/include/asm/state.h    |   1 +
>  boot/bootmeth_efi.c                 |  29 ++----------
>  cmd/efidebug.c                      |  25 ++++++++++
>  include/efi.h                       |  34 +++++++++++++
>  include/efi_default_filename.h      |  56 ----------------------
>  lib/efi_loader/Kconfig              |  10 ++++
>  lib/efi_loader/Makefile             |   1 +
>  lib/efi_loader/efi_bootmgr.c        |  10 ++--
>  lib/efi_loader/efi_helper.c         |  71 ++++++++++++++++++++++++++++
>  lib/efi_loader/testapp.c            |  64 +++++++++++++++++++++++++
>  test/boot/bootdev.c                 |  18 ++++++-
>  test/boot/bootflow.c                |  67 ++++++++++++++++++++++++--
>  test/py/tests/bootstd/flash1.img.xz | Bin 0 -> 4924 bytes
>  test/py/tests/test_ut.py            |  53 ++++++++++++++++++---
>  17 files changed, 356 insertions(+), 98 deletions(-)
>  delete mode 100644 include/efi_default_filename.h
>  create mode 100644 lib/efi_loader/testapp.c
>  create mode 100644 test/py/tests/bootstd/flash1.img.xz

I hope this series can meet with approval and go in. I know it isn't
perfect, but we can then work on things from there. The first thing is
to drop the various .xz files, which I'll look at once this lands.

Regards,
Simon


More information about the U-Boot mailing list