efi: honour memory reservations passed via a linux specific config table
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 21 Sep 2018 16:32:44 +0000 (09:32 -0700)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 26 Sep 2018 10:03:49 +0000 (12:03 +0200)
commit71e0940d52e107748b270213a01d3b1546657d74
tree022816ab063c271dd95e966019b3593cf6112aba
parent11da3a7f84f19c26da6f86af878298694ede0804
efi: honour memory reservations passed via a linux specific config table

In order to allow the OS to reserve memory persistently across a
kexec, introduce a Linux-specific UEFI configuration table that
points to the head of a linked list in memory, allowing each kernel
to add list items describing memory regions that the next kernel
should treat as reserved.

This is useful, e.g., for GICv3 based ARM systems that cannot disable
DMA access to the LPI tables, forcing them to reuse the same memory
region again after a kexec reboot.

Tested-by: Jeremy Linton <jeremy.linton@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
drivers/firmware/efi/efi.c
include/linux/efi.h