• C
    efibc: Add EFI Bootloader Control module · 06f7d4a1
    Compostella, Jeremy 提交于
    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: NJeremy Compostella <jeremy.compostella@intel.com>
    Signed-off-by: NMatt 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.ukSigned-off-by: NIngo Molnar <mingo@kernel.org>
    06f7d4a1
efi.h 39.4 KB