Allow components smaller than declared size.
authorVadim Bendebury <vbendeb@chromium.org>
Wed, 9 Nov 2011 22:11:26 +0000 (14:11 -0800)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Fri, 30 Mar 2012 15:48:45 +0000 (17:48 +0200)
idftool was failing to add the ME blobs into the output image in case
the blob size does not exactly match the size allocated for it in the
flashrom structure.

It is difficult to set the field in the structure to exactly match the
size (for some reason Intel flash tool fails to insert the correct
size even when given the exact ME blob). On the other hand there is no
harm in using am ME blob smaller than the allocated size, this change
modifies the tool building the image to allow for smaller components.

Change-Id: I1b04f90051b91157391943c9bad0eb06dd297431
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: http://review.coreboot.org/751
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
util/ifdtool/ifdtool.c

index eb91b2c4329c50c489424c6af7812ff8ade6342b..8c1077c21a2efb22ba4463302f2adacdadf486f9 100644 (file)
@@ -334,7 +334,7 @@ void inject_region(char *filename, char *image, int size, int region_type,
        printf("File %s is %d bytes\n", region_fname, region_size);
 
        if ( (region_size > region.size) || ((region_type != 1) &&
-               (region_size != region.size))) {
+               (region_size > region.size))) {
                fprintf(stderr, "Region %s is %d(0x%x) bytes. File is %d(0x%x)"
                                " bytes. Not injecting.\n",
                                region_name(region_type), region.size,