Add support for persistent memory reservations across kexec reboot on EFI
systems by introducing a Linux-specific UEFI configuration table that points
to a linked list in memory that can be augmented by each successive kexec
kernel to describe regions in memory that the subsequent kernel should treat
as reserved.

The specific use case for this feature is GICv3 ARM systems that are not
able to disable DMA access to LPI tables, meaning we have to reserve them
and make the next kernel reuse the existing tables rather than allocating
them from scratch.

Cc: Jeremy Linton <[email protected]>
Cc: Marc Zyngier <[email protected]>

Ard Biesheuvel (3):
  efi: honour memory reservations passed via a linux specific config
    table
  efi/arm: libstub: add a root memreserve config table
  efi: add API to reserve memory persistently across kexec reboot

 drivers/firmware/efi/efi.c              | 59 +++++++++++++++++++-
 drivers/firmware/efi/libstub/arm-stub.c | 27 +++++++++
 include/linux/efi.h                     |  9 +++
 3 files changed, 94 insertions(+), 1 deletion(-)

-- 
2.17.1

Reply via email to