Messages in this thread | | | Subject | Re: [PATCH 0/3] Fix ACPI BGRT support for images located in EFI boot services memory | From | Matt Fleming <> | Date | Tue, 04 Sep 2012 15:27:20 +0100 |
| |
On Thu, 2012-08-30 at 14:28 -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 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.
Since we always end up doing a copy anyway, is there no way we could just copy the boot logo *without* deferring freeing the boot services code, e.g. move the copy before we do SetVirtualAddressMap()? I wouldn't be surprised if some implementations got really cranky if we accessed boot services data after we installed a new virtual memory map.
Besides, if we can avoid moving the efi_free_boot_services() call we can avoid littering init/main.c with more #ifdef CONFIG_X86 blocks.
| |