Cannot load linux after recent efi-related changes

From: Mike Krinkin
Date: Sat Sep 17 2016 - 12:24:31 EST


after commit 3dad6f7f6975 ("x86/efi: Defer efi_esrt_init until after
memblock_x86_fill") kernel hits BUG_ON __efi_enter_virtual_mode because
efi.systab is NULL. With older kernel versions i face the problem with
efi_mem_reserve described in the commit.

AFAICS, get_systab_virt_addr called from efi_map_regions should set
efi.systab, but i dumped memory desciptors in efi_map_regions and
apparently none of them describes region that contains efi_phys.systab,
so efi.systab remains unset.