[GIT PULL] EFI changes for v4.21
From: Ingo Molnar
Date: Mon Dec 24 2018 - 17:21:41 EST
Linus,
Please pull the latest efi-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git efi-core-for-linus
# HEAD: 1debf0958fa27b7c469dbf22754929ec59a7c0e7 x86/efi: Don't unmap EFI boot services code/data regions for EFI_OLD_MEMMAP and EFI_MIXED_MODE
The main changes in this cycle were:
- Allocate the E820 buffer before doing the GetMemoryMap/ExitBootServices
dance so we don't run out of space
- Clear EFI boot services mappings when freeing the memory
- Harden efivars against callers that invoke it on non-EFI boots
- Reduce the number of memblock reservations resulting from extensive
use of the new efi_mem_reserve_persistent() API
- Other assorted fixes and cleanups.
Thanks,
Ingo
------------------>
Ard Biesheuvel (2):
efi: Permit multiple entries in persistent memreserve data structure
efi: Reduce the amount of memblock reservations for persistent allocations
Arend van Spriel (1):
firmware/efi: Add NULL pointer checks in efivars API functions
Julien Thierry (2):
efi/fdt: Indentation fix
efi/fdt: Simplify the get_fdt() flow
Nathan Chancellor (1):
efi/libstub: Disable some warnings for x86{,_64}
Sai Praneeth Prakhya (4):
x86/mm/pageattr: Introduce helper function to unmap EFI boot services
x86/efi: Unmap EFI boot services code/data regions from efi_pgd
x86/efi: Move efi_<reserve/free>_boot_services() to arch/x86
x86/efi: Don't unmap EFI boot services code/data regions for EFI_OLD_MEMMAP and EFI_MIXED_MODE
arch/x86/include/asm/efi.h | 2 +
arch/x86/include/asm/pgtable_types.h | 8 ++-
arch/x86/mm/pageattr.c | 40 ++++++++++++-
arch/x86/platform/efi/efi.c | 2 +
arch/x86/platform/efi/quirks.c | 41 ++++++++++++++
drivers/firmware/efi/efi.c | 54 +++++++++++++-----
drivers/firmware/efi/libstub/Makefile | 5 +-
drivers/firmware/efi/libstub/arm-stub.c | 2 +-
drivers/firmware/efi/libstub/fdt.c | 30 +++++-----
drivers/firmware/efi/vars.c | 99 ++++++++++++++++++++++++++-------
include/linux/efi.h | 19 +++++--
init/main.c | 4 --
12 files changed, 242 insertions(+), 64 deletions(-)