[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1466681690-5850-1-git-send-email-matt@codeblueprint.co.uk>
Date: Thu, 23 Jun 2016 12:34:39 +0100
From: Matt Fleming <matt@...eblueprint.co.uk>
To: Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Dave Young <dyoung@...hat.com>
Cc: Matt Fleming <matt@...eblueprint.co.uk>,
linux-kernel@...r.kernel.org, linux-efi@...r.kernel.org,
Andy Lutomirski <luto@...capital.net>,
Borislav Petkov <bp@...en8.de>,
Josh Boyer <jwboyer@...oraproject.org>,
Josh Triplett <josh@...htriplett.org>,
Kamezawa Hiroyuki <kamezawa.hiroyu@...fujitsu.com>,
Leif Lindholm <leif.lindholm@...aro.org>,
Mark Rutland <mark.rutland@....com>,
Môshe van der Sterre <me@...he.nl>,
Peter Jones <pjones@...hat.com>,
Taku Izumi <izumi.taku@...fujitsu.com>,
Tony Luck <tony.luck@...el.com>,
Xishi Qiu <qiuxishi@...wei.com>
Subject: [PATCH 00/11] efi: Permanent runtime EFI memmap support
This series adds support for keeping the EFI memory map around at
runtime for x86 (ARM and arm64 already have this support).
Additionally, drivers can now reserve EFI boot services regions such
that they are not released back to the kernel during
efi_free_boot_services().
With these two features it becomes possible to pass things like the
EFI System Resource Table data structures across kexec reboot.
This series also includes a whole bunch of refactoring and cleanups to
move code out of arch or driver-specific files into generic places.
I've given these patches some light testing, but it would be good if
others could provide more given that this series touches so many
different code paths.
ARM/arm64 folks, you're going to want to pay particular attention to
PATCH 3 where I drop the read-only mapping of the EFI memory map since
it causes problems for x86.
I am aware that we leak memory maps when new ones get installed, e.g.
during __efi_enter_virtual_mode(), but that's an existing bug that
requires everyone to allocate memory maps the same way before it can
be fixed.
arch/x86/include/asm/efi.h | 1 -
arch/x86/kernel/setup.c | 13 +-
arch/x86/platform/efi/efi-bgrt.c | 13 +-
arch/x86/platform/efi/efi.c | 198 ++++++++++++-------------
arch/x86/platform/efi/efi_64.c | 20 ---
arch/x86/platform/efi/quirks.c | 123 ++++++++++++++--
drivers/firmware/efi/Makefile | 2 +-
drivers/firmware/efi/arm-init.c | 17 +--
drivers/firmware/efi/arm-runtime.c | 4 +-
drivers/firmware/efi/efi.c | 64 ++++----
drivers/firmware/efi/esrt.c | 20 +--
drivers/firmware/efi/fake_mem.c | 125 ++--------------
drivers/firmware/efi/memmap.c | 292 +++++++++++++++++++++++++++++++++++++
drivers/firmware/efi/runtime-map.c | 35 ++---
include/linux/efi.h | 34 ++++-
15 files changed, 605 insertions(+), 356 deletions(-)
create mode 100644 drivers/firmware/efi/memmap.c
Powered by blists - more mailing lists