049a59db34
This patch introduces the Google Vital Product Data driver. This driver reads Vital Product Data from coreboot tables and then creates the corresponding sysfs entries under /sys/firmware/vpd to provide easy access for userspace programs (does not require flashrom). The sysfs is structured as follow: /sys/firmware/vpd |-- ro | |-- key1 | `-- key2 |-- ro_raw |-- rw | `-- key1 `-- rw_raw Where ro_raw and rw_raw contain the raw VPD partition. The files under ro and rw correspond to the key name in the VPD and the the file content is the value for the key. Signed-off-by: Wei-Ning Huang <wnhuang@google.com> Signed-off-by: Thierry Escande <thierry.escande@collabora.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
75 lines
2.3 KiB
Plaintext
75 lines
2.3 KiB
Plaintext
menuconfig GOOGLE_FIRMWARE
|
|
bool "Google Firmware Drivers"
|
|
default n
|
|
help
|
|
These firmware drivers are used by Google's servers. They are
|
|
only useful if you are working directly on one of their
|
|
proprietary servers. If in doubt, say "N".
|
|
|
|
if GOOGLE_FIRMWARE
|
|
|
|
config GOOGLE_SMI
|
|
tristate "SMI interface for Google platforms"
|
|
depends on X86 && ACPI && DMI && EFI
|
|
select EFI_VARS
|
|
help
|
|
Say Y here if you want to enable SMI callbacks for Google
|
|
platforms. This provides an interface for writing to and
|
|
clearing the EFI event log and reading and writing NVRAM
|
|
variables.
|
|
|
|
config GOOGLE_COREBOOT_TABLE
|
|
tristate
|
|
depends on GOOGLE_COREBOOT_TABLE_ACPI || GOOGLE_COREBOOT_TABLE_OF
|
|
|
|
config GOOGLE_COREBOOT_TABLE_ACPI
|
|
tristate "Coreboot Table Access - ACPI"
|
|
depends on ACPI
|
|
select GOOGLE_COREBOOT_TABLE
|
|
help
|
|
This option enables the coreboot_table module, which provides other
|
|
firmware modules to access to the coreboot table. The coreboot table
|
|
pointer is accessed through the ACPI "GOOGCB00" object.
|
|
If unsure say N.
|
|
|
|
config GOOGLE_COREBOOT_TABLE_OF
|
|
tristate "Coreboot Table Access - Device Tree"
|
|
depends on OF
|
|
select GOOGLE_COREBOOT_TABLE
|
|
help
|
|
This option enable the coreboot_table module, which provide other
|
|
firmware modules to access coreboot table. The coreboot table pointer
|
|
is accessed through the device tree node /firmware/coreboot.
|
|
If unsure say N.
|
|
|
|
config GOOGLE_MEMCONSOLE
|
|
tristate
|
|
depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT
|
|
|
|
config GOOGLE_MEMCONSOLE_X86_LEGACY
|
|
tristate "Firmware Memory Console - X86 Legacy support"
|
|
depends on X86 && ACPI && DMI
|
|
select GOOGLE_MEMCONSOLE
|
|
help
|
|
This option enables the kernel to search for a firmware log in
|
|
the EBDA on Google servers. If found, this log is exported to
|
|
userland in the file /sys/firmware/log.
|
|
|
|
config GOOGLE_MEMCONSOLE_COREBOOT
|
|
tristate "Firmware Memory Console"
|
|
depends on GOOGLE_COREBOOT_TABLE
|
|
select GOOGLE_MEMCONSOLE
|
|
help
|
|
This option enables the kernel to search for a firmware log in
|
|
the coreboot table. If found, this log is exported to userland
|
|
in the file /sys/firmware/log.
|
|
|
|
config GOOGLE_VPD
|
|
tristate "Vital Product Data"
|
|
depends on GOOGLE_COREBOOT_TABLE
|
|
help
|
|
This option enables the kernel to expose the content of Google VPD
|
|
under /sys/firmware/vpd.
|
|
|
|
endif # GOOGLE_FIRMWARE
|