
Hi Heinrich, On Mon, 18 Aug 2025 at 17:10, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
On 18.08.25 23:20, Simon Glass wrote:
From: Simon Glass <sjg@chromium.org>
Add some simple debug output to see what it is doing.
Signed-off-by: Simon Glass <sjg@chromium.org> ---
(no changes since v1)
board/efi/efi-arm_app/board.c | 4 ++++ boot/fdt_simplefb.c | 4 ++++ 2 files changed, 8 insertions(+)
diff --git a/board/efi/efi-arm_app/board.c b/board/efi/efi-arm_app/board.c index ce6c3e78ebc..662e48a3b74 100644 --- a/board/efi/efi-arm_app/board.c +++ b/board/efi/efi-arm_app/board.c @@ -30,6 +30,10 @@ int board_exit_boot_services(void *ctx, struct event *evt) uint key; int ret;
+ if (evt->data.bootm_final.flags & BOOTM_FINAL_FAKE) { + printf("Not exiting EFI (fake go)\n"); + return 0; + } printf("Exiting EFI\n");
We should not print anything while EFI applications are running. This may mess up the screen output prepared by the application. For instance in Ubuntu we typically use Plymouth and don't want any text output once shim and grub are called.
Nothing appears from what I can tell. Something (Linux?) prints a message that it is exiting boot services on at ("Exiting boot services..."), but it doesn't happen on x86. I can't always make it appear in any case, but I believe it relates to the console being set to something special, which Ubuntu doesn't do.
So these printf() should be log_debug() or better EFI_PRINT().
There is also the bootstage info which is printed and helps to time the EFI stub. Given the above, I think we should keep this.
Best regards
Heinrich
ret = efi_get_mmap(&desc, &size, &key, &desc_size, &version); if (ret) { diff --git a/boot/fdt_simplefb.c b/boot/fdt_simplefb.c index 5822131767d..6c75a6d5b5f 100644 --- a/boot/fdt_simplefb.c +++ b/boot/fdt_simplefb.c @@ -6,6 +6,8 @@ * Stephen Warren <swarren@wwwdotorg.org> */
+#define LOG_CATEGORY LOGC_BOOT + #include <dm.h> #include <fdt_support.h> #include <asm/global_data.h> @@ -48,6 +50,8 @@ static int fdt_simplefb_configure_node(void *blob, int off) ysize = uc_priv->ysize; bpix = uc_priv->bpix; fb_base = plat->base; + log_debug("simplefb: fb %lx x %d y %d bpix %x\n", fb_base, + xsize, ysize, bpix); }
switch (bpix) {