summaryrefslogtreecommitdiff
path: root/src/include/bootblock_common.h
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2021-04-02 16:31:21 -0700
committerPatrick Georgi <pgeorgi@google.com>2021-04-06 07:49:15 +0000
commit6296ca8ad9137a12094ad5d49d6f937dcf502105 (patch)
tree6ff17f7e96a11982d84e87618fbef11855c640bc /src/include/bootblock_common.h
parentfccf1221a23d3fe5ca57cff6bb6a71d75e67041f (diff)
decompressor: Add CBFS_VERIFICATION support
CBFS_VERIFICATION requires the CBFS metadata hash anchor to be linked into an uncompressed stage, but for platforms using COMPRESS_BOOTBLOCK, this is only the decompressor stage. The first CBFS accesses are made in the bootblock stage after decompression, so if we want to make CBFS_VERIFICATION work on those platforms, we have to pass the metadata hash anchor from the decompressor into the bootblock. This patch does just that. (Note that this relies on the decompressor data remaining valid in memory for as long as the metadata hash anchor is needed. This is always true even for OVERLAP_DECOMPRESSOR_ROMSTAGE() situations because the FMAP and CBFS metadata necessarily need to have finished verification before a new stage could be loaded.) Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: I2e6d7384cfb8339a24369eb6c01fc12f911c974e Reviewed-on: https://review.coreboot.org/c/coreboot/+/52085 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/include/bootblock_common.h')
-rw-r--r--src/include/bootblock_common.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/bootblock_common.h b/src/include/bootblock_common.h
index da627d23d4..fccd23524d 100644
--- a/src/include/bootblock_common.h
+++ b/src/include/bootblock_common.h
@@ -35,6 +35,7 @@ void bootblock_main_with_timestamp(uint64_t base_timestamp,
/* This is the argument structure passed from decompressor to bootblock. */
struct bootblock_arg {
uint64_t base_timestamp;
+ void *metadata_hash_anchor;
uint32_t num_timestamps;
struct timestamp_entry timestamps[];
};