]> git.baikalelectronics.ru Git - kernel.git/commit
efi/reboot: Allow powering off machines using EFI
authorMatt Fleming <matt.fleming@intel.com>
Fri, 13 Jun 2014 11:35:21 +0000 (12:35 +0100)
committerMatt Fleming <matt.fleming@intel.com>
Fri, 18 Jul 2014 20:23:52 +0000 (21:23 +0100)
commitd7d6bdbedb48c62ffe813247295e3ac4d63cdfc6
tree99c8e1a6e69d58b3902118dcfcd8a261b67ff254
parente9597b4435c454dcc58b2b55fb81493717c8dca8
efi/reboot: Allow powering off machines using EFI

Not only can EfiResetSystem() be used to reboot, it can also be used to
power down machines.

By and large, this functionality doesn't work very well across the range
of EFI machines in the wild, so it should definitely only be used as a
last resort. In an ideal world, this wouldn't be needed at all.

Unfortunately, we're starting to see machines where EFI is the *only*
reliable way to power down, and nothing else, not PCI, not ACPI, works.

efi_poweroff_required() should be implemented on a per-architecture
basis, since exactly when we should be using EFI runtime services is a
platform-specific decision. There's no analogue for reboot because each
architecture handles reboot very differently - the x86 code in
particular is pretty complex.

Patches to enable this for specific classes of hardware will be
submitted separately.

Tested-by: Mark Salter <msalter@redhat.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
drivers/firmware/efi/reboot.c
include/linux/efi.h