coreboot-kgpe-d16/src/lib
Duncan Laurie 36e6c6f8d2 fw_config: Add firmware configuration interface
This change introduces a new top-level interface for interacting with a
bitmask providing firmware configuration information.

This is motivated by Chromebook mainboards that need to support multiple
different configurations at runtime with the same BIOS.  In these
devices the Embedded Controller provides a bitmask that can be broken
down into different fields and each field can then be broken down into
different options.

The firmware configuration value could also be stored in CBFS and this
interface will look in CBFS first to allow the Embedded Controller value
to be overridden.

The firmware configuration interface is intended to easily integrate
into devicetree.cb and lead to less code duplication for new mainboards
that make use of this feature.

BUG=b:147462631
TEST=this provides a new interface that is tested in subsequent commits

Change-Id: I1e889c235a81545e2ec0e3a34dfa750ac828a330
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41209
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
2020-06-02 16:40:04 +00:00
..
gnat src: Remove leading blank lines from SPDX header 2020-05-18 07:00:27 +00:00
Kconfig espi: Add support for debug helper to print slave capabilities 2020-05-12 20:05:34 +00:00
Makefile.inc fw_config: Add firmware configuration interface 2020-06-02 16:40:04 +00:00
b64_decode.c treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
boot_device.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
bootblock.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
bootmem.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
bootmode.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
bootsplash.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
cb.ads
cbfs.c drivers/intel/fsp2_0: add option to compress FSP-M in cbfs 2020-05-28 20:33:34 +00:00
cbmem_common.c src: Remove unused 'include <bootstate.h>' 2020-06-02 07:40:35 +00:00
cbmem_console.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
cbmem_stage_cache.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
compute_ip_checksum.c
coreboot_table.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
crc_byte.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
decompressor.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
delay.c
device_tree.c treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
dimm_info_util.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
edid.c src: Remove unused '#include <stddef.h>' 2020-05-13 08:48:50 +00:00
edid_fill_fb.c treewide: Convert more license headers to SPDX style 2020-05-11 19:37:19 +00:00
espi_debug.c espi_debug: Use switch case instead of if-else 2020-05-13 08:37:59 +00:00
ext_stage_cache.c src: Remove unused 'include <bootstate.h>' 2020-06-02 07:40:35 +00:00
fallback_boot.c
fit.c fit: Swap compat matching priorities for board-revX and board-skuY 2020-05-29 20:47:54 +00:00
fit_payload.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
fmap.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
fw_config.c fw_config: Add firmware configuration interface 2020-06-02 16:40:04 +00:00
gcc.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
gcov-glue.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
gcov-io.c
gcov-io.h
gcov-iov.h
gpio.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
halt.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
hardwaremain.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
hexdump.c treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
hexstrtobin.c treewide: Convert more license headers to SPDX style 2020-05-11 19:37:19 +00:00
hw-time-timer.adb treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
imd.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
imd_cbmem.c src: Remove unused 'include <bootstate.h>' 2020-06-02 07:40:35 +00:00
jpeg.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
jpeg.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
libgcc.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
libgcov.c
list.c treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
lzma.c Remove MAYBE_STATIC_BSS and ENV_STAGE_HAS_BSS_SECTION 2020-05-26 15:04:08 +00:00
lzmadecode.c
lzmadecode.h
malloc.c
memchr.c
memcmp.c
memcpy.c
memmove.c
memrange.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
memset.c
nhlt.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
primitive_memtest.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
prog_loaders.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
prog_ops.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
program.ld arch/x86: Remove more romcc leftovers 2020-05-28 09:50:52 +00:00
ramdetect.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
ramtest.c
reg_script.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
region_file.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
reset.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
rmodule.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
rmodule.ld
romstage_handoff.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
rtc.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
selfboot.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
spd_bin.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
spd_cache.c Remove new additions of "this file is part of" lines 2020-05-18 07:12:03 +00:00
stack.c
string.c lib: Add strtok() and strtok_r() 2020-05-28 09:52:51 +00:00
thread.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
timer.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
timer_queue.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
timestamp.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
trace.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
ubsan.c treewide: Convert more license headers to SPDX style 2020-05-11 19:37:19 +00:00
uuid.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
version.c
wrdd.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00