History

efi: earlycon: Reprobe after parsing config tables

Commit 732ea9db9d8a ("efi: libstub: Move screen_info handling to common code") reorganized the earlycon handling so that all architectures pass the screen_info data via a EFI config table instead of populating struct screen_info directly, as the latter is only possible when the EFI stub is baked into the kernel (and not into the decompressor). However, this means that struct screen_info may not have been populated yet by the time the earlycon probe takes place, and this results in a non-functional early console. So let's probe again right after parsing the config tables and populating struct screen_info. Note that this means that earlycon output starts a bit later than before, and so it may fail to capture issues that occur while doing the early EFI initialization.

Ard Biesheuvel committed 3 years ago

Commit 8b3a1491 parent 3c66bb13 files · +17 −3Browse files

Showing the changes to include/linux (1 of 3 files). Show all

Unified · Split

include/linux/efi.h+1−0
@@ -693,6 +693,7 @@ efi_guid_to_str(efi_guid_t *guid, char *out) · 692 unmodified lines
693}693}
694 694
695extern void efi_init (void);695extern void efi_init (void);
696extern void efi_earlycon_reprobe(void);
696#ifdef CONFIG_EFI697#ifdef CONFIG_EFI
697extern void efi_enter_virtual_mode (void); /* switch EFI to virtual mode, if possible */698extern void efi_enter_virtual_mode (void); /* switch EFI to virtual mode, if possible */
698#else699#else