OSDN Git Service

ACPI: Introduce Platform Firmware Runtime Update device driver
authorChen Yu <yu.c.chen@intel.com>
Wed, 22 Dec 2021 04:31:41 +0000 (12:31 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 27 Dec 2021 16:12:58 +0000 (17:12 +0100)
commit0db89fa243e5edc5de38c88b369e4c3755c5fb74
tree21019fb65e2d11af6e6a71291775d1cebc1fcca3
parent1882de7fc56c2b0ea91dd9fd9922d434fc3feb15
ACPI: Introduce Platform Firmware Runtime Update device driver

Introduce the pfr_update driver which can be used for Platform Firmware
Runtime code injection and driver update [1].

The user is expected to provide the EFI capsule, and pass it to the
driver by writing the capsule to a device special file. The capsule
is transferred by the driver to the platform firmware with the help
of an ACPI _DSM method under the special ACPI Platform Firmware
Runtime Update device (INTC1080), and the actual firmware update is
carried out by the low-level Management Mode code in the platform
firmware.

This change allows certain pieces of the platform firmware to be
updated on the fly while the system is running (runtime) without the
need to restart it, which is key in the cases when the system needs to
be available 100% of the time and it cannot afford the downtime related
to restarting it, or when the work carried out by the system is
particularly important, so it cannot be interrupted, and it is not
practical to wait until it is complete.

Link: https://uefi.org/sites/default/files/resources/Intel_MM_OS_Interface_Spec_Rev100.pdf
Tested-by: Hongyu Ning <hongyu.ning@intel.com>
Signed-off-by: Chen Yu <yu.c.chen@intel.com>
[ rjw: Subject and changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Documentation/userspace-api/ioctl/ioctl-number.rst
drivers/acpi/Kconfig
drivers/acpi/Makefile
drivers/acpi/pfr_update.c [new file with mode: 0644]
include/uapi/linux/pfrut.h [new file with mode: 0644]