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)?

