Hi Simon, On Mon, 28 Oct 2024 at 14:48, Simon Glass <s...@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 >