]> git.baikalelectronics.ru Git - kernel.git/commit
platform/x86: Add Slim Bootloader firmware update signaling driver
authorJithu Joseph <jithu.joseph@intel.com>
Mon, 27 Apr 2020 23:15:14 +0000 (16:15 -0700)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 5 May 2020 17:27:44 +0000 (20:27 +0300)
commitd8b1fecb4e3efa6f48f830186df3450f2b5c2baa
tree63642a7f6a8a578d31be7cb148b58be957d79c0f
parent61c27d6cff1f9cd0eecf5edf8b4d8cf584b93e97
platform/x86: Add Slim Bootloader firmware update signaling driver

Slim Bootloader(SBL) is a small open-source boot firmware,
designed for running on certain Intel platforms. SBL can be
thought-of as fulfilling the role of a minimal BIOS
implementation, i.e initializing the hardware and booting
Operating System.

Since SBL is not UEFI compliant, firmware update cannot be triggered
using standard UEFI runtime services. Further considering performance
impact, SBL doesn't look for a firmware update image on every reset
and does so only when firmware update signal is asserted.

SBL exposes an ACPI-WMI device which comes up in sysfs as
/sys/bus/wmi/44FADEB1xxx and this driver adds a
"firmware_update_request" device attribute. This attribute normally
has a value of 0 and userspace can signal SBL to update firmware,
on next reboot, by writing a value of 1 like:

echo 1 > /sys/bus/wmi/devices/44FADEB1xxx/firmware_update_request

This driver only implements a signaling mechanism, the actual firmware
update process and various details like firmware update image format,
firmware image location etc are defined by SBL and are not in the
scope of this driver.

DocLink: https://slimbootloader.github.io/security/firmware-update.html
Signed-off-by: Jithu Joseph <jithu.joseph@intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Documentation/ABI/testing/sysfs-platform-intel-wmi-sbl-fw-update [new file with mode: 0644]
MAINTAINERS
drivers/platform/x86/Kconfig
drivers/platform/x86/Makefile
drivers/platform/x86/intel-wmi-sbl-fw-update.c [new file with mode: 0644]