linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Josh Triplett <josh@joshtriplett.org>
To: linux-kernel@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	x86@kernel.org, Len Brown <lenb@kernel.org>,
	Matt Fleming <matt.fleming@intel.com>,
	Olof Johansson <olof@lixom.net>, Matthew Garrett <mjg@redhat.com>,
	David Howells <dhowells@redhat.com>,
	Rusty Russell <rusty@rustcorp.com.au>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Pawel Moll <pawel.moll@arm.com>,
	linux-acpi@vger.kernel.org
Subject: [PATCHv2 0/4] Fix ACPI BGRT support for images located in EFI boot services memory
Date: Tue, 4 Sep 2012 14:21:20 -0700	[thread overview]
Message-ID: <cover.1346792566.git.josh@joshtriplett.org> (raw)

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.

Josh Triplett (4):
  efi: Add a stub for efi_enter_virtual_mode on non-x86
  efi: Defer freeing boot services memory until freeing __init memory
  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

-- 
1.7.10.4


             reply	other threads:[~2012-09-04 21:21 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-04 21:21 Josh Triplett [this message]
2012-09-04 21:23 ` [PATCHv2 1/4] efi: Add a stub for efi_enter_virtual_mode on non-x86 Josh Triplett
2012-09-04 21:23 ` [PATCHv2 2/4] efi: Defer freeing boot services memory until freeing __init memory Josh Triplett
2012-09-04 21:24 ` [PATCHv2 3/4] efi: Add a function to look up existing IO memory mappings Josh Triplett
2012-09-04 21:24 ` [PATCHv2 4/4] efi: Fix the ACPI BGRT driver for images located in EFI boot services memory Josh Triplett
2012-09-04 23:28 ` [PATCHv2 0/4] Fix ACPI BGRT support " Josh Triplett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1346792566.git.josh@joshtriplett.org \
    --to=josh@joshtriplett.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=dhowells@redhat.com \
    --cc=hpa@zytor.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt.fleming@intel.com \
    --cc=mingo@redhat.com \
    --cc=mjg@redhat.com \
    --cc=olof@lixom.net \
    --cc=pawel.moll@arm.com \
    --cc=rusty@rustcorp.com.au \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).