On Fri, 18 Mar, at 12:11:50PM, Daniel Baluta wrote:
> From: Matt Gumbel <[email protected]>
> 
> This driver intercepts system reboot requests and populates the
> LoaderEntryOneShot EFI variable with the user-supplied reboot
> argument. EFI bootloaders such as Gummiboot will consume this
> variable and use it to control which OS is booted next.
> 
> We use this with Android where reboot() tells the kernel that
> we want to boot into recovery or other non-default OS environment.
> 
> It is the bootloader's job to guard against this variable being
> uninitialzed or containing invalid data, and just boot normally
> if that is the case.
> 
> Signed-off-by: Matt Gumbel <[email protected]>
> Signed-off-by: Mohamed Abbas <[email protected]>
> Signed-off-by: Constantin Musca <[email protected]>
> Signed-off-by: Daniel Baluta <[email protected]>
> ---
> Changes since v1:
>       * updated Makefile after changing source name from efibc.c -> efi-bc.c
>       to comply with naming rules in drivers/firmware/efi/
> 
>  drivers/firmware/efi/Kconfig  |  11 ++
>  drivers/firmware/efi/Makefile |   1 +
>  drivers/firmware/efi/efi-bc.c | 251 
> ++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 263 insertions(+)
>  create mode 100644 drivers/firmware/efi/efi-bc.c

Why does this require a driver? Why is it not possible to solve this
problem by creating the variable in userspace before invoking
reboot(2)?

Reply via email to