linux/drivers/firmware/efi
Compostella, Jeremy 06f7d4a161 efibc: Add EFI Bootloader Control module
This module installs a reboot callback, such that if reboot() is invoked
with a string argument NNN, "NNN" is copied to the "LoaderEntryOneShot"
EFI variable, to be read by the bootloader.

If the string matches one of the boot labels defined in its configuration,
the bootloader will boot once to that label.  The "LoaderEntryRebootReason"
EFI variable is set with the reboot reason: "reboot", "shutdown".

The bootloader reads this reboot reason and takes particular action
according to its policy.

There are reboot implementations that do "reboot <reason>", such as
Android's reboot command and Upstart's reboot replacement, which pass
the reason as an argument to the reboot syscall.  There is no
platform-agnostic way how those could be modified to pass the reason
to the bootloader, regardless of platform or bootloader.

Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stefan Stanacar <stefan.stanacar@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-efi@vger.kernel.org
Link: http://lkml.kernel.org/r/1461614832-17633-26-git-send-email-matt@codeblueprint.co.uk
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-04-28 11:34:02 +02:00
..
libstub efi/arm*/libstub: Wire up GOP protocol to 'struct screen_info' 2016-04-28 11:34:00 +02:00
arm-init.c efi/arm*: Wire up 'struct screen_info' to efi-framebuffer platform device 2016-04-28 11:34:01 +02:00
arm-runtime.c efi/arm*: Take the Memory Attributes table into account 2016-04-28 11:33:55 +02:00
cper.c efi: Handle memory error structures produced based on old versions of standard 2015-07-15 13:30:38 +01:00
efi-pstore.c Half dozen small cleanups plus change to allow pstore 2015-11-05 11:51:18 -08:00
efi.c efi/arm/libstub: Make screen_info accessible to the UEFI stub 2016-04-28 11:33:59 +02:00
efibc.c efibc: Add EFI Bootloader Control module 2016-04-28 11:34:02 +02:00
efivars.c drivers/firmware/efi/efivars.c: use in_compat_syscall() to check for compat callers 2016-03-22 15:36:02 -07:00
esrt.c efi/esrt: Don't preformat name 2015-12-14 15:24:03 +00:00
fake_mem.c efi: Remove global 'memmap' EFI memory map 2016-04-28 11:33:51 +02:00
Kconfig efibc: Add EFI Bootloader Control module 2016-04-28 11:34:02 +02:00
Makefile efibc: Add EFI Bootloader Control module 2016-04-28 11:34:02 +02:00
memattr.c efi: Implement generic support for the Memory Attributes table 2016-04-28 11:33:54 +02:00
reboot.c x86/reboot: Add EFI reboot quirk for ACPI Hardware Reduced flag 2014-07-18 21:23:52 +01:00
runtime-map.c efi: Fix error handling in add_sysfs_runtime_map_entry() 2015-05-05 16:20:13 +01:00
runtime-wrappers.c efi/runtime-wrappers: Run UEFI Runtime Services with interrupts enabled 2016-02-22 08:26:25 +01:00
vars.c efi: Fix out-of-bounds read in variable_matches() 2016-04-22 19:41:41 +01:00