linux/drivers/scsi
Matt Fleming 83e6818974 efi: Make 'efi_enabled' a function to query EFI facilities
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.

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>
Cc: <stable@vger.kernel.org>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2013-01-30 11:51:59 -08:00
..
aacraid Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
aic7xxx scsi: fix various printk and comment typos 2012-09-01 08:24:35 -07:00
aic7xxx_old Fix common misspellings 2011-03-31 11:26:23 -03:00
aic94xx Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
arcmsr workqueue: deprecate flush[_delayed]_work_sync() 2012-08-20 14:51:24 -07:00
arm Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
be2iscsi Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bfa Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bnx2fc Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bnx2i Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
csiostor Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cxgbi SCSI misc on 20120724 2012-07-24 18:11:22 -07:00
device_handler [SCSI] scsi_dh_alua: Enable STPG for unavailable ports 2012-09-24 12:21:56 +04:00
dpt atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
fcoe random32: rename random32 to prandom 2012-12-17 17:15:26 -08:00
fnic Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
ibmvscsi Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
isci efi: Make 'efi_enabled' a function to query EFI facilities 2013-01-30 11:51:59 -08:00
libfc [SCSI] libfc: fix lun reset failure bugs in fc_fcp_resp handling of FCP_RSP_INFO 2012-10-07 11:52:55 +01:00
libsas treewide: fix typo of "suport" in various comments and Kconfig 2012-11-19 14:16:09 +01:00
lpfc Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
megaraid Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mpt2sas Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mpt3sas Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mvsas Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
osd [SCSI] osd_uld: Add osdname & systemid sysfs at scsi_osd class 2012-11-27 08:59:34 +04:00
pcmcia module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
pm8001 Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
qla2xxx Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
qla4xxx Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sym53c8xx_2 Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
ufs Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
.gitignore
3w-9xxx.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
3w-9xxx.h Fix common misspellings 2011-03-31 11:26:23 -03:00
3w-sas.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
3w-sas.h
3w-xxxx.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
3w-xxxx.h Fix common misspellings 2011-03-31 11:26:23 -03:00
53c700_d.h_shipped Fix common misspellings 2011-03-31 11:26:23 -03:00
53c700.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
53c700.h
53c700.scr Fix common misspellings 2011-03-31 11:26:23 -03:00
a100u2w.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
a100u2w.h
a2091.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
a2091.h
a3000.c scsi: Fix up files implicitly depending on module.h inclusion 2011-10-31 19:31:24 -04:00
a3000.h
a4000t.c
advansys.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
aha152x.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
aha152x.h
aha1542.c treewide: Put a space between #include and FILE 2012-06-28 11:44:36 +02:00
aha1542.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
aha1740.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
aha1740.h
aic7xxx_old.c Fix common misspellings 2011-03-31 11:26:23 -03:00
atari_NCR5380.c [SCSI] atari_NCR5380: Provide a dummy NCR5380_exit() 2011-06-29 15:11:21 -05:00
atari_scsi.c scsi/atari: Make more functions static 2012-04-22 20:16:49 +02:00
atari_scsi.h scsi/atari: Make more functions static 2012-04-22 20:16:49 +02:00
atp870u.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
atp870u.h
BusLogic.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
BusLogic.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
bvme6000_scsi.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
ch.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
constants.c [SCSI] add DID_TARGET_FAILURE and DID_NEXUS_FAILURE to hostbyte_table in constants.c 2012-09-14 11:58:53 +01:00
dc395x.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
dc395x.h Fix common misspellings 2011-03-31 11:26:23 -03:00
dmx3191d.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
dpt_i2o.c [SCSI] remove cmd->serial_number litter 2011-05-01 10:22:40 -05:00
dpti.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
dtc.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
dtc.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
eata_generic.h
eata_pio.c [SCSI] remove cmd->serial_number litter 2011-05-01 10:22:40 -05:00
eata_pio.h
eata.c [SCSI] remove cmd->serial_number litter 2011-05-01 10:22:40 -05:00
esp_scsi.c scsi: Use vsprintf extention %pf with builtin_return_address 2012-04-05 17:09:40 -07:00
esp_scsi.h
fdomain.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
fdomain.h
FlashPoint.c Fix common misspellings 2011-03-31 11:26:23 -03:00
g_NCR5380_mmio.c
g_NCR5380.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
g_NCR5380.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
gdth_ioctl.h
gdth_proc.c [SCSI] gdth: Add missing call to gdth_ioctl_free 2010-12-31 09:50:09 -06:00
gdth_proc.h
gdth.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
gdth.h gdt: remove unnecessary #defines 2012-09-01 08:43:34 -07:00
gvp11.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
gvp11.h
hosts.c [SCSI] Fix device removal NULL pointer dereference 2012-07-20 08:58:40 +01:00
hpsa_cmd.h [SCSI] hpsa: dial down lockup detection during firmware flash 2012-05-10 09:19:39 +01:00
hpsa.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hpsa.h [SCSI] hpsa: dial down lockup detection during firmware flash 2012-05-10 09:19:39 +01:00
hptiop.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hptiop.h [SCSI] hptiop: Support HighPoint RR4520/RR4522 HBA 2012-11-27 08:59:43 +04:00
imm.c Fix common misspellings 2011-03-31 11:26:23 -03:00
imm.h
in2000.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
in2000.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
initio.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
initio.h Fix common misspellings 2011-03-31 11:26:23 -03:00
ipr.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
ipr.h [SCSI] ipr: Driver version 2.5.4 2012-08-24 13:10:28 +04:00
ips.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
ips.h Fix common misspellings 2011-03-31 11:26:23 -03:00
iscsi_boot_sysfs.c switch ->is_visible() to returning umode_t 2012-01-03 22:54:55 -05:00
iscsi_tcp.c [SCSI] iscsi_tcp: increase max_lun to ~0, don't care 2012-09-24 12:10:55 +04:00
iscsi_tcp.h [SCSI] iscsi_tcp: use iscsi_conn_get_addr_param libiscsi function 2011-02-24 12:41:10 -05:00
jazz_esp.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
Kconfig [SCSI] mpt3sas: add new driver supporting 12GB SAS 2012-12-01 10:09:17 +00:00
lasi700.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
libiscsi_tcp.c SCSI updates on 20120319 2012-03-22 12:55:29 -07:00
libiscsi.c [SCSI] libiscsi: fix cmd timeout/completion race 2012-02-19 08:09:00 -06:00
libsrp.c scsi: Fix up files implicitly depending on module.h inclusion 2011-10-31 19:31:24 -04:00
mac53c94.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
mac53c94.h
mac_esp.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mac_scsi.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
mac_scsi.h
Makefile [SCSI] mpt3sas: add new driver supporting 12GB SAS 2012-12-01 10:09:17 +00:00
megaraid.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
megaraid.h megaraid: remove unnecessary #defines 2012-09-01 08:42:43 -07:00
mesh.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
mesh.h
mvme16x_scsi.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mvme147.c
mvme147.h
mvumi.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mvumi.h [SCSI] mvumi: Add support for Marvell SAS/SATA RAID-on-Chip(ROC) 88RC9580 2012-10-07 11:34:36 +01:00
ncr53c8xx.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
ncr53c8xx.h
NCR53c406a.c SCSI host lock push-down 2010-11-16 13:33:23 -08:00
NCR5380.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
NCR5380.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
NCR_D700.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
NCR_D700.h
NCR_Q720.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
NCR_Q720.h
nsp32_debug.c treewide: fix a few typos in comments 2011-05-10 10:16:21 +02:00
nsp32_io.h
nsp32.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
nsp32.h Fix common misspellings 2011-03-31 11:26:23 -03:00
osst_detect.h
osst_options.h
osst.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
osst.h Fix common misspellings 2011-03-31 11:26:23 -03:00
pas16.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
pas16.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
pmcraid.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pmcraid.h scsi: Fix typo in pmcraid.h 2012-02-21 11:40:37 +01:00
ppa.c SCSI host lock push-down 2010-11-16 13:33:23 -08:00
ppa.h
ps3rom.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
qla1280.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
qla1280.h
qlogicfas408.c SCSI host lock push-down 2010-11-16 13:33:23 -08:00
qlogicfas408.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
qlogicfas.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
qlogicpti.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
qlogicpti.h of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
raid_class.c
script_asm.pl
scsi_debug.c [SCSI] scsi_debug: Fix off-by-one bug when unmapping region 2012-10-09 12:23:11 +01:00
scsi_devinfo.c [SCSI] Disable DIF on Hitachi Ultrastar 15K300 2012-09-24 12:11:00 +04:00
scsi_error.c [SCSI] Shorten the path length of scsi_cmd_to_driver() 2012-10-09 12:04:42 +01:00
scsi_ioctl.c
scsi_lib_dma.c scsi: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required 2011-10-31 19:31:23 -04:00
scsi_lib.c Merge branch 'for-3.8/core' of git://git.kernel.dk/linux-block 2012-12-17 08:27:23 -08:00
scsi_logging.h
scsi_module.c
scsi_netlink.c scsi_netlink: Remove dead and buggy code 2012-09-13 16:26:39 -04:00
scsi_pm.c [SCSI] scsi_pm: use callbacks from dev_pm_ops for scsi devices 2012-11-30 09:26:48 +00:00
scsi_priv.h [SCSI] async: introduce 'async_domain' type 2012-07-20 09:05:54 +01:00
scsi_proc.c scsi: fix scsi_proc new kernel-doc warning 2011-05-28 23:12:11 -07:00
scsi_sas_internal.h
scsi_scan.c Merge SCSI misc branch into isci-for-3.6 tag 2012-10-02 08:55:12 +01:00
scsi_sysctl.c
scsi_sysfs.c [SCSI] prevent stack buffer overflow in host_reset 2012-11-30 09:08:16 +00:00
scsi_tgt_if.c scsi: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required 2011-10-31 19:31:23 -04:00
scsi_tgt_lib.c [SCSI] esp, scsi_tgt_lib, fcoe: use list_move() instead of list_del()/list_add() combination 2011-05-01 10:20:10 -05:00
scsi_tgt_priv.h
scsi_trace.c [SCSI] scsi_trace: Decode UNMAP bit in WRITE SAME(10) 2011-05-24 12:38:36 -04:00
scsi_transport_api.h
scsi_transport_fc_internal.h
scsi_transport_fc.c Merge branch 'for-3.6/core' of git://git.kernel.dk/linux-block 2012-08-01 09:02:41 -07:00
scsi_transport_iscsi.c netlink: Rename pid to portid to avoid confusion 2012-09-10 15:30:41 -04:00
scsi_transport_sas.c [SCSI] scsi_transport_sas: add 12GB definitions for mpt3sas 2012-12-01 10:08:41 +00:00
scsi_transport_spi.c [SCSI] scsi_transport_spi: fix for unbalanced reference counting 2012-05-10 09:06:12 +01:00
scsi_transport_srp_internal.h
scsi_transport_srp.c IB/srp: Allow SRP disconnect through sysfs 2012-11-30 17:40:33 -08:00
scsi_typedefs.h
scsi.c [SCSI] Add a report opcode helper 2012-11-13 21:11:31 -08:00
scsi.h
scsicam.c fs: move code out of buffer.c 2012-01-03 22:54:07 -05:00
sd_dif.c [SCSI] sd: Avoid remapping bad reference tags 2012-09-24 12:10:59 +04:00
sd.c [SCSI] sd: update sd to use the new pm callbacks 2012-11-30 09:28:34 +00:00
sd.h [SCSI] sd: Implement support for WRITE SAME 2012-11-13 22:45:42 -08:00
ses.c [SCSI] ses: requesting a fault indication 2011-06-29 12:14:25 -05:00
sg.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
sgiwd93.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sim710.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sni_53c710.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sr_ioctl.c scsi: Fix up files implicitly depending on module.h inclusion 2011-10-31 19:31:24 -04:00
sr_vendor.c
sr.c [SCSI] sr: check_events() ignore GET_EVENT when TUR says otherwise 2011-07-21 14:15:58 -07:00
sr.h [SCSI] sr: check_events() ignore GET_EVENT when TUR says otherwise 2011-07-21 14:15:58 -07:00
st_options.h
st.c [SCSI] st: remove st_mutex 2012-09-24 13:07:02 +04:00
st.h [SCSI] st: raise device limit 2012-09-14 17:59:29 +01:00
stex.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
storvsc_drv.c [SCSI] storvsc: Account for in-transit packets in the RESET path 2012-10-09 12:28:58 +01:00
sun3_NCR5380.c [SCSI] sun3: Remove commented out merge_contiguous_buffers 2011-06-29 15:15:05 -05:00
sun3_scsi_vme.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
sun3_scsi.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
sun3_scsi.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
sun3x_esp.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sun_esp.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sym53c416.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sym53c416.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
t128.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
t128.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
tmscsim.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tmscsim.h
u14-34f.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
ultrastor.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
ultrastor.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
virtio_scsi.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
vmw_pvscsi.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
vmw_pvscsi.h [SCSI] vmw_pvscsi: Try setting host->max_id as suggested by the device. 2012-03-27 08:26:36 +01:00
wd33c93.c Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-05-26 13:19:00 -07:00
wd33c93.h SCSI host lock push-down 2010-11-16 13:33:23 -08:00
wd7000.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
zalon.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
zorro7xx.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00