linux/drivers/acpi
Matt Fleming 739230186f efi: Make 'efi_enabled' a function to query EFI facilities
commit 83e6818974 upstream.

Originally 'efi_enabled' indicated whether a kernel was booted from
EFI firmware. Over time its semantics have changed, and it now
indicates whether or not we are booted on an EFI machine with
bit-native firmware, e.g. 64-bit kernel with 64-bit firmware.

The immediate motivation for this patch is the bug report at,

    https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557

which details how running a platform driver on an EFI machine that is
designed to run under BIOS can cause the machine to become
bricked. Also, the following report,

    https://bugzilla.kernel.org/show_bug.cgi?id=47121

details how running said driver can also cause Machine Check
Exceptions. Drivers need a new means of detecting whether they're
running on an EFI machine, as sadly the expression,

    if (!efi_enabled)

hasn't been a sufficient condition for quite some time.

Users actually want to query 'efi_enabled' for different reasons -
what they really want access to is the list of available EFI
facilities.

For instance, the x86 reboot code needs to know whether it can invoke
the ResetSystem() function provided by the EFI runtime services, while
the ACPI OSL code wants to know whether the EFI config tables were
mapped successfully. There are also checks in some of the platform
driver code to simply see if they're running on an EFI machine (which
would make it a bad idea to do BIOS-y things).

This patch is a prereq for the samsung-laptop fix patch.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Corentin Chary <corentincj@iksaif.net>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Olof Johansson <olof@lixom.net>
Cc: Peter Jones <pjones@redhat.com>
Cc: Colin Ian King <colin.king@canonical.com>
Cc: Steve Langasek <steve.langasek@canonical.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Konrad Rzeszutek Wilk <konrad@kernel.org>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-14 10:48:53 -08:00
..
acpica ACPI: export symbol acpi_get_table_with_size 2012-09-14 10:00:19 -07:00
apei ACPI, APEI: Fixup common access width firmware bug 2012-08-09 08:31:37 -07:00
ac.c ACPI/AC: prevent OOPS on some boxes due to missing check power_supply_register() return value check 2012-08-09 08:31:37 -07:00
acpi_ipmi.c
acpi_memhotplug.c
acpi_pad.c acpi_pad: fix power_saving thread deadlock 2012-07-16 09:04:06 -07:00
battery.c ACPI / battery: Correct battery capacity values on Thinkpads 2012-12-17 10:37:45 -08:00
bgrt.c ACPI: Add support for exposing BGRT data 2012-03-30 04:09:24 -04:00
blacklist.c acpi: delete module.h include from files explicitly not needing it 2011-10-31 19:30:33 -04:00
bus.c ACPI: run _OSC after ACPI_FULL_INITIALIZATION 2012-10-13 05:38:37 +09:00
button.c
cm_sbs.c
container.c
custom_method.c ACPI: Split out custom_method functionality into an own driver 2011-05-29 01:50:40 -04:00
debugfs.c acpi: add export.h to files using THIS_MODULE/EXPORT_SYMBOL 2011-10-31 19:30:34 -04:00
dock.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
ec_sys.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
ec.c ACPI: EC: Add a quirk for CLEVO M720T/M730T laptop 2012-10-21 09:27:57 -07:00
event.c acpi: add export.h to files using THIS_MODULE/EXPORT_SYMBOL 2011-10-31 19:30:34 -04:00
fan.c ACPI: constify ops structs 2011-07-16 18:36:17 -04:00
glue.c acpi: add export.h to files using THIS_MODULE/EXPORT_SYMBOL 2011-10-31 19:30:34 -04:00
hed.c
internal.h ACPI: Cleanup custom_method debug stuff 2011-05-29 01:50:04 -04:00
Kconfig ACPI: Add support for exposing BGRT data 2012-03-30 04:09:24 -04:00
Makefile ACPI: Add support for exposing BGRT data 2012-03-30 04:09:24 -04:00
numa.c ACPI: Store SRAT table revision 2012-01-17 04:19:04 -05:00
nvs.c ACPI / PM: print physical addresses consistently with other parts of kernel 2012-03-30 02:46:57 -04:00
osl.c efi: Make 'efi_enabled' a function to query EFI facilities 2013-02-14 10:48:53 -08:00
pci_bind.c
pci_irq.c PCI/PM/Runtime: make PCI traces quieter 2012-01-06 12:11:16 -08:00
pci_link.c
pci_root.c PCI: Rework ASPM disable code 2012-01-06 12:10:26 -08:00
pci_slot.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
power.c ACPI / PM: Use KERN_DEBUG when no power resources are found 2012-10-02 10:29:54 -07:00
proc.c acpi: add export.h to files using THIS_MODULE/EXPORT_SYMBOL 2011-10-31 19:30:34 -04:00
processor_core.c cpufreq / ACPI: Fix not loading acpi-cpufreq driver regression 2012-07-19 08:58:56 -07:00
processor_driver.c ACPI: missing break 2012-12-10 10:59:40 -08:00
processor_idle.c ACPI / processor: Get power info before updating the C-states 2013-01-27 20:47:44 -08:00
processor_perflib.c ACPI: Load acpi-cpufreq from processor driver automatically 2012-01-26 16:48:12 -08:00
processor_thermal.c ACPI: Do cpufreq clamping for throttling per package v2 2012-03-22 02:16:14 -04:00
processor_throttling.c ACPI throttling: fix endian bug in acpi_read_throttling_status() 2012-03-30 16:06:12 -04:00
reboot.c Revert "ACPI: ignore FADT reset-reg-sup flag" 2012-04-20 11:19:35 -07:00
sbs.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2011-08-02 21:17:02 -10:00
sbshc.c acpi: add module.h to files implicitly using/relying on it. 2011-10-31 19:30:32 -04:00
sbshc.h
scan.c ACPI : do not use Lid and Sleep button for S5 wakeup 2013-01-17 08:50:53 -08:00
sleep.c ACPI: do acpisleep dmi check when CONFIG_ACPI_SLEEP is set 2013-01-11 09:06:54 -08:00
sleep.h
sysfs.c ACPI sysfs.c strlen fix 2012-07-16 09:04:07 -07:00
tables.c
thermal.c ACPI: Evaluate thermal trip points before reading temperature 2012-03-30 02:38:31 -04:00
utils.c
video_detect.c platform/x86: drop deprecated asus_acpi driver 2012-03-20 12:02:18 -04:00
video.c ACPI / video: ignore BIOS initial backlight value for HP Folio 13-2000 2012-12-17 10:37:46 -08:00
wakeup.c