coreboot-kgpe-d16/util/cbfstool
Julius Werner cefe89ee79 lib/fmap: Add optional pre-RAM cache
This patch adds an optional pre-RAM cache for the FMAP which most
platforms should be able to use, complementing the recently added
post-RAM FMAP cache in CBMEM. vboot systems currently read the FMAP
about half a dozen times from flash in verstage, which will all be
coalesced into a single read with this patch. It will also help
future vboot improvements since when FMAP reads become "free" vboot
doesn't need to keep track of so much information separately.

In order to make sure we have a single, well-defined point where the new
cache is first initialized, eliminate the build-time hardcoding of the
CBFS section offsets, so that all CBFS accesses explicitly read the
FMAP.

Add FMAP_CACHEs to all platforms that can afford it (other than the
RISC-V things where I have no idea how they work), trying to take the
space from things that look like they were oversized anyway (pre-RAM
consoles and CBFS caches).

Change-Id: I2820436776ef620bdc4481b5cd4b6957764248ea
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36657
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Joel Kitching <kitching@google.com>
2019-11-14 03:30:11 +00:00
..
console
flashmap util/cbfstool/flashmap: Fix memory leaks on failure 2019-07-21 18:54:43 +00:00
lz4 util/cbfstool: Fix typos 2018-08-28 14:20:15 +00:00
lzma util/cbfstool: Fix typos 2018-08-28 14:20:15 +00:00
EXAMPLE
Makefile cbfstool: Add ifittool 2019-06-24 09:42:31 +00:00
Makefile.inc util/cbfstool: Add AMD BIOS compression tool for PSP 2019-07-03 21:28:43 +00:00
ProcessorBind.h
amdcompress.c util/cbfstool: Add AMD BIOS compression tool for PSP 2019-07-03 21:28:43 +00:00
cbfs-mkpayload.c util/cbfstool: fix build with clang 2018-07-20 16:06:29 +00:00
cbfs-mkstage.c util/cbfstool/cbfs-mkstage: Support x86_64 2018-12-19 06:06:49 +00:00
cbfs-payload-linux.c util/cbfstool: Fix to build with latest llvm 2017-01-04 21:37:39 +01:00
cbfs.h util/cbfstool: Add optional argument ibb 2019-10-18 15:37:37 +00:00
cbfs_image.c util/cbfstool: Add optional argument ibb 2019-10-18 15:37:37 +00:00
cbfs_image.h util/cbfstool: Add optional argument ibb 2019-10-18 15:37:37 +00:00
cbfs_sections.c Klocwork: Fix the Null pointer derefernce found by klocwork 2019-04-23 09:56:37 +00:00
cbfs_sections.h
cbfscomptool.c cbfstool: fix implicit declaration of strcasecmp 2018-07-27 10:48:17 +00:00
cbfstool.c util/cbfstool: Add optional argument ibb 2019-10-18 15:37:37 +00:00
coff.h
common.c util/cbfstool: Fix typos 2018-08-28 14:20:15 +00:00
common.h util/cbfstool: Fix typos 2018-08-28 14:20:15 +00:00
compress.c
default-x86.fmd Makefile.inc: Create a default SMMSTORE region 2019-02-06 18:15:59 +00:00
default.fmd drivers/mrc_cache: Always generate an FMAP region 2018-01-20 16:11:44 +00:00
description.md util: Add description.md to each util 2018-07-26 13:26:50 +00:00
elf.h util/cbfstool: Support AMD64 rmodules 2018-12-19 06:05:52 +00:00
elfheaders.c util/cbfstool: Prevent overflow of 16 bit multiplications 2019-07-07 20:59:04 +00:00
elfparsing.h util/cbfstool: Fix typos 2018-08-28 14:20:15 +00:00
fdt.h util/cbfstool: Support FIT payloads 2018-06-15 09:13:24 +00:00
fit.c cbfstool/fit: need inttypes.h for PRIx64 2019-06-26 09:19:00 +00:00
fit.h cbfstool: Drop update-fit option 2019-06-24 09:45:00 +00:00
flashmap_tests.c
fmap_from_fmd.c cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmap_from_fmd.h tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
fmaptool.c lib/fmap: Add optional pre-RAM cache 2019-11-14 03:30:11 +00:00
fmd.c util/cbfstool: avoid memleaks and off-by-ones 2017-03-20 20:05:09 +01:00
fmd.h cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmd_parser.c_shipped cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmd_parser.h_shipped cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmd_parser.y cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmd_scanner.c_shipped cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmd_scanner.h_shipped cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmd_scanner.l cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fv.h
ifittool.c util/cbfstool: Remove unused assignment 2019-08-20 15:20:30 +00:00
ifwitool.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
linux.h util/cbfstool: Fix typos 2018-08-28 14:20:15 +00:00
linux_trampoline.S linux_trampoline: use trampoline RAM for the GDT 2018-07-18 21:32:26 +00:00
linux_trampoline.c linux_trampoline: use trampoline RAM for the GDT 2018-07-18 21:32:26 +00:00
linux_trampoline.h tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
option.h
partitioned_file.c util/cbfstool: Close file on error 2019-07-10 18:21:00 +00:00
partitioned_file.h
rmodtool.c
rmodule.c rmodule: Add support for R_X86_64_PLT32 2019-03-05 19:36:52 +00:00
rmodule.h util/cbfstool/rmodule.{c,h}: Fix typo and correct header 2018-11-22 14:58:38 +00:00
swab.h
xdr.c