Aaron Durbin (adurbin@chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12789
-gerrit
commit 1f02f414498c3f224c97384b5843b716a8e94bd9 Author: Patrick Georgi pgeorgi@google.com Date: Fri Nov 20 23:23:44 2015 +0100
cbfstool: keep cbfs master header pointer
Adding new files overwrote the header with the empty file (ie 0xff), so carve out some space.
BUG=chromium:445938 BRANCH=none TEST=none
Change-Id: I91c292df381c2bac41c6cb9dda74dae99defd81d Signed-off-by: Patrick Georgi pgeorgi@google.com --- util/cbfstool/cbfs_image.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/util/cbfstool/cbfs_image.c b/util/cbfstool/cbfs_image.c index 3820c40..2d7a6f0 100644 --- a/util/cbfstool/cbfs_image.c +++ b/util/cbfstool/cbfs_image.c @@ -523,6 +523,11 @@ static int cbfs_add_entry_at(struct cbfs_image *image, }
len = addr_next - addr - min_entry_size; + /* keep space for master header pointer */ + if ((void *)entry + min_entry_size + len > buffer_get(&image->buffer) + + buffer_size(&image->buffer) - sizeof(int32_t)) { + len -= sizeof(int32_t); + } cbfs_create_empty_entry(entry, CBFS_COMPONENT_NULL, len, ""); if (verbose > 1) cbfs_print_entry_info(image, entry, stderr); return 0;