[PATCH 0/3] Fix ACPI BGRT support for images located in EFI boot services memory

Josh Triplett
2012-08-30T21:28:25Z

The ACPI BGRT lets the OS access the BIOS logo image and its position on the
screen at boot time, allowing it to maintain that image on the screen until
ready to display something else, making boot more seamless. This series fixes
support for accessing the boot logo image via the BGRT when the BIOS stores it
in EFI boot services memory, as recommended by the ACPI 5.0 spec. Linux needs
to copy the image out of boot services memory before reclaiming boot services
memory.

The first patch refactors EFI initialization to defer freeing boot services
memory until later in the boot process, after we have ACPI available. The
second patch adds a helper function to look up existing EFI boot services
mappings, to avoid re-mapping them. The third patch moves BGRT initialization
to before the reclamation of boot services memory, copies the logo at that
point, and reworks the existing BGRT driver to use that existing copy.

Josh Triplett (3):
efi: Defer freeing boot services memory until after ACPI init
efi: Add a function to look up existing IO memory mappings
efi: Fix the ACPI BGRT driver for images located in EFI boot services memory

arch/x86/platform/efi/Makefile | 1 +
arch/x86/platform/efi/efi-bgrt.c | 76 ++++++++++++++++++++++++++++++++++++++
arch/x86/platform/efi/efi.c | 65 +++++++++++++++++++++++++-------
drivers/acpi/Kconfig | 4 +-
drivers/acpi/bgrt.c | 76 +++++---------------------------------
include/linux/efi-bgrt.h | 21 +++++++++++
include/linux/efi.h | 3 ++
init/main.c | 7 ++++
8 files changed, 171 insertions(+), 82 deletions(-)
create mode 100644 arch/x86/platform/efi/efi-bgrt.c
create mode 100644 include/linux/efi-bgrt.h

--
1.7.10.4