Skip to content

Commit 0bcaa90

Browse files
mrutland-armArd Biesheuvel
authored andcommitted
efi: efi-stub: notify on DTB absence
In the absence of a DTB configuration table, the EFI stub will happily continue attempting to boot a kernel, despite the fact that this kernel may not function without a description of the hardware. In this case, as with a typo'd "dtb=" option (e.g. "dbt=") or many other possible failures, the only output seen by the user will be the rather terse output from the EFI stub: EFI stub: Booting Linux Kernel... To aid those attempting to debug such failures, this patch adds a notice when no DTB is found, making the output more helpful: EFI stub: Booting Linux Kernel... EFI stub: Generating empty DTB Additionally, a positive acknowledgement is added when a user-specified DTB is in use: EFI stub: Booting Linux Kernel... EFI stub: Using DTB from command line Similarly, a positive acknowledgement is added when a DTB from a configuration table is in use: EFI stub: Booting Linux Kernel... EFI stub: Using DTB from configuration table Signed-off-by: Mark Rutland <[email protected]> Acked-by: Leif Lindholm <[email protected]> Acked-by: Ard Biesheuvel <[email protected]> Acked-by: Roy Franz <[email protected]> Acked-by: Matt Fleming <[email protected]> Signed-off-by: Ard Biesheuvel <[email protected]>
1 parent b07bfaa commit 0bcaa90

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

drivers/firmware/efi/libstub/arm-stub.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,9 +247,18 @@ unsigned long __init efi_entry(void *handle, efi_system_table_t *sys_table,
247247
goto fail_free_cmdline;
248248
}
249249
}
250-
if (!fdt_addr)
250+
251+
if (fdt_addr) {
252+
pr_efi(sys_table, "Using DTB from command line\n");
253+
} else {
251254
/* Look for a device tree configuration table entry. */
252255
fdt_addr = (uintptr_t)get_fdt(sys_table);
256+
if (fdt_addr)
257+
pr_efi(sys_table, "Using DTB from configuration table\n");
258+
}
259+
260+
if (!fdt_addr)
261+
pr_efi(sys_table, "Generating empty DTB\n");
253262

254263
status = handle_cmdline_files(sys_table, image, cmdline_ptr,
255264
"initrd=", dram_base + SZ_512M,

0 commit comments

Comments
 (0)