linux-efi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Matt Fleming <matt@console-pimps.org>
To: linux-efi@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, Andi Kleen <ak@linux.intel.com>,
	Tony Luck <tony.luck@intel.com>,
	Seiji Aguchi <seiji.aguchi@hds.com>,
	x86@kernel.org, Matt Fleming <matt.fleming@intel.com>
Subject: [PATCH 0/5] EFI capsule pstore support
Date: Wed, 16 Oct 2013 14:50:55 +0100	[thread overview]
Message-ID: <1381931460-6999-1-git-send-email-matt@console-pimps.org> (raw)

From: Matt Fleming <matt.fleming@intel.com>

The UEFI spec describes a capsule mechanism that allows data blobs to be
handed to the firmware at runtime. If the firmware doesn't recognise the
guid of the capsule and if certain flags are set in the capsule header,
the firmware will preserve the memory region containing the capsule
across a reboot. We can utilise this feature to perform crash dumps and
function tracing to aid in crash analysis.

The capsule buffers containing pstore data can be much larger than is
possible with the EFI variable pstore backend, which makes it
particularly attractive for function tracing. Futhermore, because the
memory regions containing the capsule data are registered with the
firmware prior to the crash (as opposed to efi-pstore.c which invokes
variable services from the crash handler) it's more useful for debugging
hard hangs.

Matt Fleming (5):
  pstore/ftrace: Don't increment initial data offset
  efi: Introduce a Runtime Services lock
  efi: Add common efi_reboot() implementation
  efi: Move efi_status_to_err() to efi.h
  efi: Capsule update support and pstore backend

 arch/ia64/kernel/efi.c         |  33 +-
 arch/ia64/kernel/process.c     |   2 +-
 arch/x86/kernel/reboot.c       |  21 +-
 arch/x86/platform/efi/efi.c    | 108 +++++-
 drivers/firmware/efi/Kconfig   |  19 +
 drivers/firmware/efi/Makefile  |   3 +-
 drivers/firmware/efi/capsule.c | 802 +++++++++++++++++++++++++++++++++++++++++
 drivers/firmware/efi/efi.c     |  12 +
 drivers/firmware/efi/reboot.c  |  37 ++
 drivers/firmware/efi/vars.c    |  52 +--
 fs/pstore/inode.c              |   1 -
 include/linux/efi.h            |  54 +++
 12 files changed, 1072 insertions(+), 72 deletions(-)
 create mode 100644 drivers/firmware/efi/capsule.c
 create mode 100644 drivers/firmware/efi/reboot.c

-- 
1.8.1.4

             reply	other threads:[~2013-10-16 13:50 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-16 13:50 Matt Fleming [this message]
     [not found] ` <1381931460-6999-1-git-send-email-matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-10-16 13:50   ` [PATCH 1/5] pstore/ftrace: Don't increment initial data offset Matt Fleming
2013-10-16 13:50 ` [PATCH 2/5] efi: Introduce a Runtime Services lock Matt Fleming
     [not found]   ` <1381931460-6999-3-git-send-email-matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-10-16 23:36     ` Seiji Aguchi
2013-10-16 13:50 ` [PATCH 3/5] efi: Add common efi_reboot() implementation Matt Fleming
2013-10-16 13:50 ` [PATCH 4/5] efi: Move efi_status_to_err() to efi.h Matt Fleming
2013-10-16 13:51 ` [PATCH 5/5] efi: Capsule update support and pstore backend Matt Fleming
     [not found]   ` <1381931460-6999-6-git-send-email-matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-10-16 14:19     ` Matthew Garrett
     [not found]       ` <20131016141939.GA28684-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-10-16 14:52         ` Luck, Tony
     [not found]           ` <3908561D78D1C84285E8C5FCA982C28F31D31122-P5GAC/sN6hlZtRGVdHMbwrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2013-10-17  0:06             ` Seiji Aguchi
     [not found]               ` <A5ED84D3BB3A384992CBB9C77DEDA4D443EF862E-ohthHghroY0jroPwUH3sq+6wyyQG6/Uh@public.gmane.org>
2013-10-17 23:18                 ` Andi Kleen
2013-10-17 12:05             ` Matt Fleming
2013-10-17 11:55         ` Matt Fleming
     [not found]           ` <20131017115514.GE10834-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-10-17 23:19             ` Andi Kleen
2013-10-16 20:14     ` Andi Kleen
2013-10-17 12:14       ` Matt Fleming

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=1381931460-6999-1-git-send-email-matt@console-pimps.org \
    --to=matt@console-pimps.org \
    --cc=ak@linux.intel.com \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt.fleming@intel.com \
    --cc=seiji.aguchi@hds.com \
    --cc=tony.luck@intel.com \
    --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).