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-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html