From: Matt Fleming <matt.fleming@xxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html