efi/libstub: arm: Omit arch specific config table matching array on arm64

On arm64, the EFI stub is built into the kernel proper, and so the stub
can refer to its symbols directly. Therefore, the practice of using EFI
configuration tables to pass information between them is never needed,
so we can omit any code consuming such tables when building for arm64.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Leif Lindholm <leif@nuviainc.com>
This commit is contained in:
Ard Biesheuvel 2020-06-16 12:53:30 +02:00
parent 41d90b0c11
commit 62956be8f9
1 changed files with 4 additions and 2 deletions

View File

@ -62,7 +62,8 @@ static void __init init_screen_info(void)
{ {
struct screen_info *si; struct screen_info *si;
if (screen_info_table != EFI_INVALID_TABLE_ADDR) { if (IS_ENABLED(CONFIG_ARM) &&
screen_info_table != EFI_INVALID_TABLE_ADDR) {
si = early_memremap_ro(screen_info_table, sizeof(*si)); si = early_memremap_ro(screen_info_table, sizeof(*si));
if (!si) { if (!si) {
pr_err("Could not map screen_info config table\n"); pr_err("Could not map screen_info config table\n");
@ -116,7 +117,8 @@ static int __init uefi_init(u64 efi_system_table)
goto out; goto out;
} }
retval = efi_config_parse_tables(config_tables, systab->nr_tables, retval = efi_config_parse_tables(config_tables, systab->nr_tables,
arch_tables); IS_ENABLED(CONFIG_ARM) ? arch_tables
: NULL);
early_memunmap(config_tables, table_size); early_memunmap(config_tables, table_size);
out: out: