coreboot/util/cbfstool
Julius Werner 4bfbabdb54 cbfstool: Support CONFIG_CBFS_VERIFICATION and metadata hash anchor
This patch adds support for the new CONFIG_CBFS_VERIFICATION feature to
cbfstool. When CBFS verification is enabled, cbfstool must automatically
add a hash attribute to every CBFS file it adds (with a handful of
exceptions like bootblock and "header" pseudofiles that are never read
by coreboot code itself). It must also automatically update the metadata
hash that is embedded in the bootblock code. It will automatically find
the metadata hash by scanning the bootblock for its magic number and use
its presence to auto-detect whether CBFS verification is enabled for an
image (and which hash algorithm to use).

Signed-off-by: Julius Werner <jwerner@chromium.org>
Change-Id: I61a84add8654f60c683ef213b844a11b145a5cb7
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41121
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-03-13 04:16:20 +00:00
..
console treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
flashmap util: Use SPDX headers 2020-05-11 19:38:40 +00:00
lz4 lz4: Fix out-of-bounds reads 2020-03-02 15:03:03 +00:00
lzma util/cbfstool/lzma: Make clang-11+'s indentation checker happy 2020-02-01 19:51:31 +00:00
.gitignore util/cbfstool/.gitignore: Add ifittool 2020-12-07 14:02:38 +00:00
amdcompress.c util/cbfstool/amdcompress: fix argument requirement 2020-11-15 16:49:30 +00:00
cbfs-mkpayload.c cbfstool: Use cbfs_serialized.h and standard vboot helpers 2020-12-03 00:00:33 +00:00
cbfs-mkstage.c cbfstool: Remove location pointer from parse_elf_to_stage() 2021-02-18 02:32:28 +00:00
cbfs-payload-linux.c cbfstool: Use cbfs_serialized.h and standard vboot helpers 2020-12-03 00:00:33 +00:00
cbfs.h cbfs: Add verification for RO CBFS metadata hash 2020-12-03 00:11:08 +00:00
cbfs_glue.h cbfstool: Support CONFIG_CBFS_VERIFICATION and metadata hash anchor 2021-03-13 04:16:20 +00:00
cbfs_image.c cbfstool: Replace FILENAME_ALIGN 16 with ATTRIBUTE_ALIGN 4 2021-02-18 02:32:45 +00:00
cbfs_image.h cbfstool: Hide hash printing behind -v and add to parseable output 2020-12-03 00:08:03 +00:00
cbfs_sections.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
cbfs_sections.h cbfstool: Support CONFIG_CBFS_VERIFICATION and metadata hash anchor 2021-03-13 04:16:20 +00:00
cbfscomptool.c cbfstool: Use cbfs_serialized.h and standard vboot helpers 2020-12-03 00:00:33 +00:00
cbfstool.c cbfstool: Support CONFIG_CBFS_VERIFICATION and metadata hash anchor 2021-03-13 04:16:20 +00:00
coff.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
common.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
common.h cbfstool: Remove location pointer from parse_elf_to_stage() 2021-02-18 02:32:28 +00:00
compress.c cbfstool: Use cbfs_serialized.h and standard vboot helpers 2020-12-03 00:00:33 +00:00
default-x86.fmd drivers/vpd: Add VPD region to default FMAP when selected 2021-01-04 23:12:35 +00:00
default.fmd
description.md
elf.h util: Use SPDX headers 2020-05-11 19:38:40 +00:00
elfheaders.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
elfparsing.h util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
EXAMPLE
fdt.h treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
fit.c util/cbfstool/fit.c: Add support for adding Boot Guard manifests 2020-12-11 07:33:51 +00:00
fit.h util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
flashmap_tests.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
fmap_from_fmd.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
fmap_from_fmd.h util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
fmaptool.c util/cbfstool/fmaptool: Generate list of terminal sections 2020-12-08 18:59:05 +00:00
fmd.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
fmd.h util/cbfstool/fmd: make flashmap_flags bitfield struct elements unsigned 2020-09-23 13:39:14 +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 util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
fmd_scanner.c_shipped treewide: Remove trailing whitespace 2021-02-17 17:30:05 +00:00
fmd_scanner.h_shipped treewide: Remove trailing whitespace 2021-02-17 17:30:05 +00:00
fmd_scanner.l util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
fv.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
ifittool.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
ifwitool.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
linux.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
linux_trampoline.c util/cbfstool: Add SPDX header to generated linux_trampoline code, too 2020-05-11 19:39:12 +00:00
linux_trampoline.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
linux_trampoline.S util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
Makefile util/cbfstool: Update Makefiles 2021-02-25 10:03:05 +00:00
Makefile.inc cbfstool: Support CONFIG_CBFS_VERIFICATION and metadata hash anchor 2021-03-13 04:16:20 +00:00
option.h util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
partitioned_file.c util/cbfstool: unbreak compilation on FreeBSD 2021-01-13 12:07:17 +00:00
partitioned_file.h util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
ProcessorBind.h util: Use SPDX headers 2020-05-11 19:38:40 +00:00
rmodtool.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
rmodule.c rmodtool: Make memlayout symbols absolute and do not relocate them 2021-02-18 02:32:06 +00:00
rmodule.h rmodtool: Make memlayout symbols absolute and do not relocate them 2021-02-18 02:32:06 +00:00
swab.h
xdr.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00