driver: Google EFI SMI
authorMike Waychison <mikew@google.com>
Sat, 30 Apr 2011 00:39:19 +0000 (17:39 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 30 Apr 2011 01:09:34 +0000 (18:09 -0700)
commit74c5b31c6618f01079212332b2e5f6c42f2d6307
treef821278fe44849cb10264031159b01c846c7ed9d
parentf548ccd47d608e88d432745091e13f927ced83f7
driver: Google EFI SMI

The "gsmi" driver bridges userland with firmware specific routines for
accessing hardware.

Currently, this driver only supports NVRAM and eventlog information.
Deprecated functions have been removed from the driver, though their
op-codes are left in place so that they are not re-used.

This driver works by trampolining into the firmware via the smi_command
outlined in the FADT table.  Three protocols are used due to various
limitations over time, but all are included herein.

This driver should only ever load on Google boards, identified by either
a "Google, Inc." board vendor string in DMI, or "GOOGLE" in the OEM
strings of the FADT ACPI table.  This logic happens in
gsmi_system_valid().

Signed-off-by: Duncan Laurie <dlaurie@google.com>
Signed-off-by: Aaron Durbin <adurbin@google.com>
Signed-off-by: Mike Waychison <mikew@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Documentation/ABI/testing/sysfs-firmware-gsmi [new file with mode: 0644]
drivers/firmware/Kconfig
drivers/firmware/Makefile
drivers/firmware/google/Kconfig [new file with mode: 0644]
drivers/firmware/google/Makefile [new file with mode: 0644]
drivers/firmware/google/gsmi.c [new file with mode: 0644]