Re: [PATCHv3 0/4] Fix ACPI BGRT support for images located in EFIboot services memory

From: Matt Fleming
Date: Fri Sep 14 2012 - 08:46:35 EST


On Sat, 2012-09-08 at 15:06 -0700, Josh Triplett wrote:
> 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 cleans up the existing x86-specific efi_enter_virtual_mode
> function to have a stub version on non-x86 platforms, to eliminate an ifdef in
> init/main.c. The second patch refactors EFI initialization to defer freeing
> boot services memory until much later in the boot process, and in particular
> until after we have ACPI available. The third patch adds a helper function to
> look up existing EFI boot services mappings, to avoid re-mapping them. The
> fourth 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.
>
> v2: Made the new internal function efi_unmap_memmap static. Incorporated
> feedback from H. Peter Anvin and Matt Fleming: added stubs for
> x86-specific EFI functions called from init/main.c to eliminate the
> corresponding ifdefs in start_kernel; deferred
> efi_free_boot_services even later, to just before free_initmem.
>
> v3: Moved efi_free_boot_services back to right after EFI initialization, to
> avoid a WARN from check_early_ioremap_leak about not calling
> early_iounmap soon enough.
>
> Josh Triplett (4):
> efi: Add a stub for efi_enter_virtual_mode on non-x86
> 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 | 9 +++++
> init/main.c | 7 +++-
> 8 files changed, 175 insertions(+), 84 deletions(-)
> create mode 100644 arch/x86/platform/efi/efi-bgrt.c
> create mode 100644 include/linux/efi-bgrt.h

Looks good to me.

Acked-by: Matt Fleming <matt.fleming@xxxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/