[PATCH 00/15] efi_loader: Add support for logging to a buffer
Ilias Apalodimas
ilias.apalodimas at linaro.org
Tue Oct 29 10:58:15 CET 2024
Hi Simon,
On Mon, 28 Oct 2024 at 14:48, Simon Glass <sjg at chromium.org> wrote:
>
> It is a bit of a pain to log EFI boot-services calls at present. The
> output goes to the console so cannot easily be inspected later. Also it
> would be useful to be able to store the log and review it later, perhaps
> after something has gone wrong.
>
> This series makes a start on implementing a log-to-buffer feature. It
> provides a simple 'efidebug log' command to inspect the buffer. For now,
> only memory allocations are logged.
Why is this problem specific to EFI and no U-Boot in general? Do we
have a similar machinery for malloc()?
Thanks
/Ilias
>
> This feature makes it possible to add tests to check which EFI calls are
> made by U-Boot itself. It may also make it easier to figure out what is
> needed for booting Windows.
>
> Some patches to help with debugging sandbox memory-mapping are included,
> but for now EFI's use of mapping is not adjusted.
>
>
> Simon Glass (15):
> log: Add a new category for tests
> test: Allow saving and restoring the bloblist
> bloblist: test: Mark tests with UTF_BLOBLIST
> sandbox: Convert sb command to use new macro
> doc: sandbox: Add docs for the sb command
> sandbox: Add a way to show the sandbox memory-mapping
> sandbox: Fix comment for nomap_sysmem() function
> lmb: Drop extra 16KB of stack space
> efi_loader: Fix free in ..._media_device_boot_option()
> efi_loader: Add support for logging EFI calls
> efi_loader: Create the log on startup
> efi_loader: Add a command to show the EFI log
> test: efi_loader: Add a simple test for the EFI log
> efi_loader: Use the log with memory-related functions
> efi_loader: Add documentation for the EFI log
>
> MAINTAINERS | 7 +
> arch/sandbox/cpu/cpu.c | 13 +
> arch/sandbox/include/asm/cpu.h | 3 +
> arch/sandbox/include/asm/io.h | 2 +-
> cmd/efidebug.c | 53 +++-
> cmd/sb.c | 42 ++--
> common/log.c | 1 +
> configs/sandbox_defconfig | 3 +
> doc/develop/uefi/uefi.rst | 22 ++
> doc/usage/cmd/efidebug.rst | 109 ++++++++
> doc/usage/cmd/sb.rst | 79 ++++++
> doc/usage/index.rst | 2 +
> include/bloblist.h | 1 +
> include/efi.h | 1 +
> include/efi_log.h | 316 +++++++++++++++++++++++
> include/log.h | 2 +
> include/test/test.h | 3 +
> lib/efi_loader/Kconfig | 19 ++
> lib/efi_loader/Makefile | 1 +
> lib/efi_loader/efi_bootmgr.c | 3 +-
> lib/efi_loader/efi_log.c | 444 +++++++++++++++++++++++++++++++++
> lib/efi_loader/efi_memory.c | 119 ++++++---
> lib/efi_loader/efi_setup.c | 7 +
> lib/lmb.c | 2 -
> test/common/bloblist.c | 28 +--
> test/lib/Makefile | 1 +
> test/lib/efi_log.c | 93 +++++++
> test/test-main.c | 13 +
> 28 files changed, 1305 insertions(+), 84 deletions(-)
> create mode 100644 doc/usage/cmd/efidebug.rst
> create mode 100644 doc/usage/cmd/sb.rst
> create mode 100644 include/efi_log.h
> create mode 100644 lib/efi_loader/efi_log.c
> create mode 100644 test/lib/efi_log.c
>
> --
> 2.43.0
>
More information about the U-Boot
mailing list