From 023e8294236d3bd7e39b7af0a4929137c30f089d Mon Sep 17 00:00:00 2001 From: Sol Boucher Date: Wed, 18 Mar 2015 10:13:48 -0700 Subject: fmaptool: Add listing of annotated CBFS sections and generate header The fmd compiler now processes "(CBFS)" annotations, distilling them into a comma-separated list of the names of sections containing CBFSes. This list is the only thing printed to standard output to enable easy capture and machine consumption by other tools. Additionally, the ability to generate a tiny header with a define for the primary CBFS's size is implemented and can be requested via a new command-line switch. Here's an example of how to use the new features: $ ./fmaptool -h layout.h layout_arm_8192.fmd layout.fmap 2>/dev/null FW_MAIN_A,FW_MAIN_B,COREBOOT The hypothetical fmd file contains three sections annotated as (CBFS), the names of which are printed to standard output. As before, a binary FMAP file named layout.fmap is created; however, because the command was invoked with -h, a header #define ing the offset of its FMAP section (i.e. where it will be relative to the base of flash once the boot image is assembled) is also generated. BUG=chromium:470407 TEST=Verify that fmd files without a "COREBOOT" section or with one that isn't annotated as "(CBFS)" are not accepted. Ensure that the list of CBFS sections matches the descriptor file's annotations and is led by the "COREBOOT" section. Invoke with the header generation switch and check that output file for reasonableness. BRANCH=None Change-Id: I496dd937f69467bfd9233c28df59c7608e89538f Signed-off-by: Sol Boucher Original-Commit-Id: 9227698adecf675770b2983380eb570676c2b5d2 Original-Change-Id: I8b32f6ef19cabe2f6760106e676683c4565bbaad Original-Signed-off-by: Sol Boucher Original-Reviewed-on: https://chromium-review.googlesource.com/262956 Original-Reviewed-by: Duncan Laurie Original-Reviewed-by: Julius Werner Reviewed-on: http://review.coreboot.org/9967 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- util/cbfstool/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'util/cbfstool/Makefile') diff --git a/util/cbfstool/Makefile b/util/cbfstool/Makefile index e52524a9b2..4238445aa8 100644 --- a/util/cbfstool/Makefile +++ b/util/cbfstool/Makefile @@ -25,7 +25,8 @@ CBFSTOOL_COMMON+=flashmap/kv_pair.o flashmap/valstr.o CBFSTOOL_COMMON:=$(addprefix $(obj)/,$(CBFSTOOL_COMMON)) FMAPTOOL_BINARY:=$(obj)/fmaptool -FMAPTOOL_COMMON:=fmap_from_fmd.o fmd.o fmd_parser.o fmd_scanner.o +FMAPTOOL_COMMON:=cbfs_sections.o fmap_from_fmd.o +FMAPTOOL_COMMON+=fmd.o fmd_parser.o fmd_scanner.o # FMAP FMAPTOOL_COMMON+=flashmap/fmap.o FMAPTOOL_COMMON+=flashmap/kv_pair.o flashmap/valstr.o -- cgit v1.2.3