coreboot/src/drivers
Nicholas Chin 368f721f71 drivers/option: Add CBFS file based option backend
Add a new option backend that uses values stored in CBFS files, similar
to the SeaBIOS runtime config options stored in files with the etc/
prefix. Options should be stored in CBFS with the option/ prefix. Values
can be set using `cbfstool coreboot.rom add-int -n option/<option-name>
-i <value>`. For simplicity, options should be stored in the COREBOOT
(RO) FMAP region, which is the default for cbfstool. This backend is not
available in SMM due to CBFS dependencies on vboot functions which are
not added to SMM, and thus the fallback will be returned by calls to
get_uint_option() in SMM.

Tested with QEMU Q35 by setting various options for "sata_mode" and
observing the console output for the SATA controller mode during
i82801ix_sata initialization.

Change-Id: Ifc0439ee42f13f49ae54d4855d1d9333c39b01f5
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85905
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
2025-01-22 03:25:40 +00:00
..
acpi/thermal_zone tree: Remove unused <string.h> 2024-05-29 10:34:08 +00:00
amd drivers/amd/opensil/mpio: Factor out common MPIO symbols from vendorcode 2025-01-13 12:26:24 +00:00
ams drivers: Add SPDX license headers to Kconfig files 2024-02-18 01:59:32 +00:00
analogix/anx7625 commonlib: Change GCD function to always use 64 bits 2024-02-08 13:13:58 +00:00
asmedia drivers/asmedia: Add code to enable AHCI for ASM1061 2025-01-19 11:56:25 +00:00
aspeed drivers/aspeed/common: Add AST2600 support 2024-09-26 15:09:17 +00:00
broadcom driver/acpi to /driver/gfx: Rename Makefiles from .inc to .mk 2024-01-24 10:03:39 +00:00
camera drivers: Add SPDX license headers to Kconfig files 2024-02-18 01:59:32 +00:00
crb drivers/crb: Return an accurate status 2025-01-16 16:12:12 +00:00
efi drivers/efi/uefi_capsules.c: coalesce and store UEFI capsules 2024-08-30 15:48:25 +00:00
elog lib: Move IP checksum to commonlib 2024-02-02 22:48:27 +00:00
emulation/qemu drivers/qemu: Clarify config option name for QEMU display resolution 2024-07-11 11:05:43 +00:00
generic tree: Remove unused <string.h> 2024-05-29 10:34:08 +00:00
genesyslogic tree: Drop duplicated <device/{path,resource}.h> 2024-04-12 04:24:20 +00:00
gfx/generic drivers/gfx/generic: Don't set DOD constraints when generating device address 2024-06-13 11:46:53 +00:00
i2c drivers/i2c/at24rf08c: Disable DRIVER_LENOVO_SERIALS by default 2024-09-30 11:09:34 +00:00
intel cpu/x86/topology: Fix FSP-S crash caused by shared core ID 2025-01-17 16:50:31 +00:00
ipmi drivers/ipmi/ocp: Add missing include 2024-12-05 04:47:02 +00:00
lenovo drivers: Add SPDX license headers to Kconfig files 2024-02-18 01:59:32 +00:00
maxim driver/intel to /driver/ocp: Rename Makefiles from .inc to .mk 2024-01-24 10:04:10 +00:00
mipi drivers/mipi: Add support for STA_2082109QFH040022_50E panel 2025-01-10 10:03:57 +00:00
mrc_cache drivers/mrc_cache: Deselect MRC_CACHE_USING_MRC_VERSION by default 2024-03-01 14:22:21 +00:00
net drivers: Add SPDX license headers to Kconfig files 2024-02-18 01:59:32 +00:00
nxp/uwb tree: Remove unused <string.h> 2024-05-29 10:34:08 +00:00
ocp drivers/ocp/ewl: Remove space after a cast 2024-10-09 17:27:37 +00:00
option drivers/option: Add CBFS file based option backend 2025-01-22 03:25:40 +00:00
parade driver/parade to /driver/wwan: Rename Makefiles from .inc to .mk 2024-01-24 10:04:33 +00:00
pc80 drivers/pc80/pc: Clean up formatting of PS/2 related ASL code 2024-11-27 22:11:46 +00:00
pcie drivers: Add SPDX license headers to Kconfig files 2024-02-18 01:59:32 +00:00
ricoh/rce822 drivers: Add SPDX license headers to Kconfig files 2024-02-18 01:59:32 +00:00
secunet/dmi drivers: Add SPDX license headers to Kconfig files 2024-02-18 01:59:32 +00:00
siemens/nc_fpga drivers: Add SPDX license headers to Kconfig files 2024-02-18 01:59:32 +00:00
sil/3114 drivers: Add SPDX license headers to Kconfig files 2024-02-18 01:59:32 +00:00
smbus console/i2c_smbus: Allow to send data w/o register offset 2024-07-11 00:06:22 +00:00
smmstore tree: Remove unused <bootstate.h> 2024-11-21 04:27:13 +00:00
sof tree: Drop duplicated <device/{path,resource}.h> 2024-04-12 04:24:20 +00:00
soundwire drivers/soundwire/alc711: Add common Kconfig for ALC7xx soundwire codecs 2024-12-06 00:23:27 +00:00
spi drivers/spi: add RPMC support 2024-12-03 17:40:39 +00:00
ti driver/parade to /driver/wwan: Rename Makefiles from .inc to .mk 2024-01-24 10:04:33 +00:00
tpm drivers/tpm: Remove unused 2nd argument in FUNC method 2024-10-02 11:50:52 +00:00
uart drivers/uart: Replace 'unsigned long int' by 'unsigned long' 2025-01-08 03:09:36 +00:00
usb drivers/usb/acpi: Don't add GPIOs to _CRS for Intel Bluetooth 2025-01-08 15:34:45 +00:00
vpd drivers/vpd: Add vpd_get_feature_level() API 2024-03-05 10:17:00 +00:00
wifi/generic drivers/wifi: Update Drive Strength BRI Rsp Table revision 2024-12-17 17:27:54 +00:00
wwan/fm drivers: Add SPDX license headers to Kconfig files 2024-02-18 01:59:32 +00:00