mirror of
https://github.com/torvalds/linux
synced 2024-10-24 04:06:04 +00:00
06f7d4a161
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>
26 lines
839 B
Makefile
26 lines
839 B
Makefile
#
|
|
# Makefile for linux kernel
|
|
#
|
|
|
|
#
|
|
# ARM64 maps efi runtime services in userspace addresses
|
|
# which don't have KASAN shadow. So dereference of these addresses
|
|
# in efi_call_virt() will cause crash if this code instrumented.
|
|
#
|
|
KASAN_SANITIZE_runtime-wrappers.o := n
|
|
|
|
obj-$(CONFIG_EFI) += efi.o vars.o reboot.o memattr.o
|
|
obj-$(CONFIG_EFI_VARS) += efivars.o
|
|
obj-$(CONFIG_EFI_ESRT) += esrt.o
|
|
obj-$(CONFIG_EFI_VARS_PSTORE) += efi-pstore.o
|
|
obj-$(CONFIG_UEFI_CPER) += cper.o
|
|
obj-$(CONFIG_EFI_RUNTIME_MAP) += runtime-map.o
|
|
obj-$(CONFIG_EFI_RUNTIME_WRAPPERS) += runtime-wrappers.o
|
|
obj-$(CONFIG_EFI_STUB) += libstub/
|
|
obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_mem.o
|
|
obj-$(CONFIG_EFI_BOOTLOADER_CONTROL) += efibc.o
|
|
|
|
arm-obj-$(CONFIG_EFI) := arm-init.o arm-runtime.o
|
|
obj-$(CONFIG_ARM) += $(arm-obj-y)
|
|
obj-$(CONFIG_ARM64) += $(arm-obj-y)
|