]> git.baikalelectronics.ru Git - kernel.git/commit
efi: Fix the ACPI BGRT driver for images located in EFI boot services memory
authorJosh Triplett <josh@joshtriplett.org>
Sat, 29 Sep 2012 00:57:05 +0000 (17:57 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Sat, 29 Sep 2012 19:21:03 +0000 (12:21 -0700)
commit31f67b83316c8a5798926394190864843bca6f26
tree6874c07f26b3cdc5b10e06c34e7d0f6a9f5494aa
parent92110fa0e394c1c90637a01baa7cf494d43330c1
efi: Fix the ACPI BGRT driver for images located in EFI boot services memory

The ACPI BGRT driver accesses the BIOS logo image when it initializes.
However, ACPI 5.0 (which introduces the BGRT) recommends putting the
logo image in EFI boot services memory, so that the OS can reclaim that
memory.  Production systems follow this recommendation, breaking the
ACPI BGRT driver.

Move the bulk of the BGRT code to run during a new EFI late
initialization phase, which occurs after switching EFI to virtual mode,
and after initializing ACPI, but before freeing boot services memory.
Copy the BIOS logo image to kernel memory at that point, and make it
accessible to the BGRT driver.  Rework the existing ACPI BGRT driver to
act as a simple wrapper exposing that image (and the properties from the
BGRT) via sysfs.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
Link: http://lkml.kernel.org/r/93ce9f823f1c1f3bb88bdd662cce08eee7a17f5d.1348876882.git.josh@joshtriplett.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/platform/efi/Makefile
arch/x86/platform/efi/efi-bgrt.c [new file with mode: 0644]
arch/x86/platform/efi/efi.c
drivers/acpi/Kconfig
drivers/acpi/bgrt.c
include/linux/efi-bgrt.h [new file with mode: 0644]
include/linux/efi.h
init/main.c