coreboot/util
Julius Werner f975e55dcd 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.

Change-Id: Iab65c0b6ebea235089f741eaa8098743e54d6ccc
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>
2016-08-27 01:16:22 +02:00
..
abuild
acpi
amdfwtool
amdtools
archive
arm_boot_tools/mksunxiboot
autoport
bimgtool
board_status
broadcom Add newlines at the end of all coreboot files 2016-08-01 21:43:56 +02:00
cbfstool cbfs: Add "struct" file type and associated helpers 2016-08-27 01:16:22 +02:00
cbmem util/cbmem: Initialize variable 2016-07-31 19:15:34 +02:00
checklist util/checklist: Place tables in proper boot order 2016-08-03 18:01:32 +02:00
chromeos util/chromeos: Make scripts executable 2016-07-30 19:34:20 +02:00
crossgcc crossgcc: Update make to latest version: 4.2.1 2016-08-13 23:31:29 +02:00
docker util/docker: Update docker files for coreboot-sdk & jenkins builders 2016-08-18 06:15:26 +02:00
dtd_parser
ectool
exynos
futility Rename VB_SOURCE to VBOOT_SOURCE for increased clarity 2016-07-27 17:26:05 +02:00
fuzz-tests
genbuild_h
genprof
gitconfig util/gitconfig: add cborg2cros.py script 2016-08-13 23:30:06 +02:00
ifdfake
ifdtool
intelmetool
inteltool Remove non-ascii & unprintable characters 2016-08-01 21:44:45 +02:00
intelvbttool intelvbttool: cope with errors in open() 2016-07-31 19:23:29 +02:00
ipqheader
k8resdump
kconfig Remove non-ascii & unprintable characters 2016-08-01 21:44:45 +02:00
lint util/lint: Add a tool to verify a single newline at the end of files 2016-08-19 18:08:25 +02:00
marvell
mma
msrtool util/msrtool: update register for Pentium4_later 2016-07-28 01:09:02 +02:00
mtkheader
nvidia
nvramtool nvramtool: Don't consider reserved regions to be "out of range" 2016-07-31 19:07:43 +02:00
optionlist
post
release
riscvtools util/riscvtools: Provide a tohost/fromhost symbols so Spike doesn't hang 2016-07-14 18:23:05 +02:00
rockchip
romcc
sconfig sconfig: Reformat C code 2016-08-08 19:16:24 +02:00
scripts util/scripts: Support cygwin in ucode conversion tool 2016-08-22 04:19:24 +02:00
showdevicetree
spkmodem_recv
superiotool superiotool: Add Nuvoton NCT6791D 2016-07-31 18:35:59 +02:00
uio_usbdebug
vgabios Remove extra newlines from the end of all coreboot files. 2016-07-31 18:19:33 +02:00
viatool viatool/quirks: Add newline to end of file 2016-07-28 20:18:10 +02:00
xcompile xcompile: add riscv64 name to riscv toolchain 2016-08-17 03:55:02 +02:00