coreboot/src/commonlib
Julius Werner 9c714baad2 UPSTREAM: cbfs: Add "struct" file type and associated helpers
This patch adds functionality to compile a C data structure into a raw
binary file, add it to CBFS and allow coreboot to load it at runtime.
This is useful in all cases where we need to be able to have several
larger data sets available in an image, but will only require a small
subset of them at boot (a classic example would be DRAM parameters) or
only require it in certain boot modes. This allows us to load less data
from flash and increase boot speed compared to solutions that compile
all data sets into a stage.

Each structure has to be defined in a separate .c file which contains no
functions and only a single global variable. The data type must be
serialization safe (composed of only fixed-width types, paying attention
to padding). It must be added to CBFS in a Makefile with the 'struct'
file processor.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/16272
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

Change-Id: Iab65c0b6ebea235089f741eaa8098743e54d6ccc
Reviewed-on: https://chromium-review.googlesource.com/377606
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2016-09-01 22:56:18 -07:00
..
include/commonlib UPSTREAM: cbfs: Add "struct" file type and associated helpers 2016-09-01 22:56:18 -07:00
cbfs.c UPSTREAM: commonlib: cbfs: Add CBFS attribute support 2016-09-01 19:52:43 -07:00
fsp_relocate.c cbfstool/fsp: Rename fsp1_1_relocate 2016-05-11 18:38:28 +02:00
lz4.c.inc cbfs: Add LZ4 in-place decompression support for pre-RAM stages 2016-02-22 21:38:37 +01:00
lz4_wrapper.c UPSTREAM: src/commonlib/lz4_wrapper: Correct inline asm for unaligned 64-bit copy 2016-06-27 17:12:45 -07:00
Makefile.inc UPSTREAM: drivers/intel/fsp2_0: load and relocate FSPS in cbmem 2016-07-19 16:31:34 -07:00
mem_pool.c commonlib: Prepare code to be included in cbfstool builds. 2016-01-06 01:11:32 +01:00
region.c UPSTREAM: commonlib/region: allow empty mmap()/munmap() in region_device_ops 2016-08-16 03:08:37 -07:00