Messages in this thread | | | Date | Fri, 18 Mar 2016 16:15:05 +0000 | From | Matt Fleming <> | Subject | Re: [PATCH v2] efi: Introduce EFI bootloader control driver |
| |
On Fri, 18 Mar, at 12:11:50PM, Daniel Baluta wrote: > From: Matt Gumbel <matthew.k.gumbel@intel.com> > > 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 <matthew.k.gumbel@intel.com> > Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com> > Signed-off-by: Constantin Musca <constantin.musca@intel.com> > Signed-off-by: Daniel Baluta <daniel.baluta@intel.com> > --- > 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)?
| |