Matt DeVillier has submitted this change. ( https://review.coreboot.org/c/coreboot/+/79010?usp=email )
Change subject: util/ifdtool/ifdtool.c: Add NULL check for fmapname ......................................................................
util/ifdtool/ifdtool.c: Add NULL check for fmapname
Some boards (e.g. prodrive/hermes) that do not provide their own FMAP and therefore have been generated by the build system (+ ifdtool) experience a failure when trying to build with an IFD that contains regions which do not have equivalent fmap names (set to NULL).
Therefore add a NULL check for the fmapname and ignore the region if we do not have an fmapname.
Test: compile prodrive/hermes
Signed-off-by: Maximilian Brune maximilian.brune@9elements.com Change-Id: Ib4589b7fdbd11d644214ca5601536e9aeb26882f Reviewed-on: https://review.coreboot.org/c/coreboot/+/79010 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Lean Sheng Tan sheng.tan@9elements.com --- M util/ifdtool/ifdtool.c 1 file changed, 8 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Lean Sheng Tan: Looks good to me, approved
diff --git a/util/ifdtool/ifdtool.c b/util/ifdtool/ifdtool.c index ddbc0fb..43451b1 100644 --- a/util/ifdtool/ifdtool.c +++ b/util/ifdtool/ifdtool.c @@ -1068,6 +1068,14 @@ if (region.limit == 0 || region.base == 0x07FFF000) continue;
+ /* Is there an FMAP equivalent? IFD reserved regions are usually thrown out + * of the FMAP here + */ + if (!region_names[region.type].fmapname) { + printf("Skip IFD region: %s\n", region_names[region.type].pretty); + continue; + } + /* Here we decide to use the coreboot generated FMAP BIOS region, instead of * the one specified in the IFD. The case when IFD and FMAP BIOS region do not * match cannot be caught here, therefore one should still validate IFD and