On 11/1/24 16:32, Simon Glass wrote:
Hi all,
On Fri, 1 Nov 2024 at 16:26, Simon Glass <s...@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
I tried to apply the series. But it fails in the CI.
https://source.denx.de/u-boot/custodians/u-boot-efi/-/jobs/941546
Best regards
Heinrich