diff options
| author | Sean Rhodes <sean@starlabs.systems> | 2026-09-01 18:48:05 +0100 |
|---|---|---|
| committer | Tzung-Bi Shih <tzungbi@kernel.org> | 2026-09-30 20:34:13 +0800 |
| commit | f2e05ce9763feb1dd7da15afd2cc61df227ee85a (patch) | |
| tree | 005426179ae31b1f870dae0b313d610874210caf /kernel/panic.c | |
| parent | 6f3adf358c8808973dc44aa333bdc0b06ae5f0c5 (diff) | |
| download | linux-next-f2e05ce9763feb1dd7da15afd2cc61df227ee85a.tar.gz linux-next-f2e05ce9763feb1dd7da15afd2cc61df227ee85a.zip | |
firmware: coreboot: Add CFR firmware attributes driver
coreboot can publish a CFR tree in its coreboot table to describe
firmware setup options. Add a firmware-attributes driver for that table
entry under the coreboot firmware driver directory.
The driver exposes runtime EFI variable-backed boolean, enum and integer
settings through the firmware-attributes ABI. It only registers settings
with readable runtime EFI variables, skips suppressed, volatile,
dependency-gated and non-runtime options, and keeps read-only or inactive
options read-only in sysfs.
For settings with an APM_CNT runtime-apply record, write the EFI
variable and ask firmware to apply the setting immediately with an I/O
port SMI command. If firmware reports a failure, restore the old EFI
variable value. Settings without a runtime apply hook keep the EFI
variable update and set pending_reboot. Depend on HAS_IOPORT because
APM_CNT uses legacy I/O ports.
Tested on a Star Labs Byte with firmware 26.07: runtime APM_CNT apply
was verified with power_led, and reboot-needed behavior was verified with
debug_level.
Link: https://doc.coreboot.org/drivers/cfr.html
Link: https://doc.coreboot.org/drivers/cfr_internal.html
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Link: https://lore.kernel.org/r/73204be94586622903da7fa90757fb091e8a7c2c.1788284852.git.sean@starlabs.systems
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
Diffstat (limited to 'kernel/panic.c')
0 files changed, 0 insertions, 0 deletions
