Hi Heinrich, On Fri, 3 Jan 2025 at 07:11, Heinrich Schuchardt <[email protected]> wrote: > > Currently running the SCT fails on x86. The EFI shell overrides U-Boot's > Simple Text Output Protocol. When ConsoleLoggerPrintWithPageBreak() is > invoked with ConsoleInfo == NULL a crash occurs. > > Debugging requires running the debug version of the UEFI shell. > We can use `add-symbol-file` in gdb to point to > Build/Shell/DEBUG_GCC/X64/ShellPkg/Application/Shell/Shell/DEBUG/Shell.dll > and the load address of Shell.efi. > > The debug version of the UEFI shell checks several requirements and > fails to run without them: > > * HOB list (only on x86) > * HII configuration protocol > * DXE services table > > Implement the missing requirements. > > When starting image add the image load address to the debug output. > > Heinrich Schuchardt (4): > efi_loader: implement a HOB list > efi_loader: build with HII configuration protocol > efi_loader: install DXE services table > efi_loader: print image load address in StartImage > > include/efi_dxe.h | 54 ++++++++++ > include/efi_hob.h | 32 ++++++ > include/efi_loader.h | 16 +++ > lib/efi_loader/Kconfig | 15 +++ > lib/efi_loader/Makefile | 4 +- > lib/efi_loader/efi_boottime.c | 7 +- > lib/efi_loader/efi_dxe.c | 176 ++++++++++++++++++++++++++++++++ > lib/efi_loader/efi_hii_config.c | 4 - > lib/efi_loader/efi_hob.c | 33 ++++++ > lib/efi_loader/efi_root_node.c | 3 + > lib/efi_loader/efi_setup.c | 13 +++ > 11 files changed, 349 insertions(+), 8 deletions(-) > create mode 100644 include/efi_dxe.h > create mode 100644 include/efi_hob.h > create mode 100644 lib/efi_loader/efi_dxe.c > create mode 100644 lib/efi_loader/efi_hob.c
Please can you document how to actually run UEFI like this? Also, is it possible to add a test for this new code? Regards, Simon

