aboutsummaryrefslogtreecommitdiff
path: root/util/cbfstool/cbfstool.c
diff options
context:
space:
mode:
authorStefan Reinauer <reinauer@chromium.org>2012-08-15 16:05:50 -0700
committerStefan Reinauer <stefan.reinauer@coreboot.org>2012-11-08 19:38:26 +0100
commita90bd527d9c450974a7c3a45be026331927823cc (patch)
treef9714d759b7dc4b704ccf363f5a9f50fa0d64f8f /util/cbfstool/cbfstool.c
parent86bf3f518f445f686bb7405f052a0a93cddba16a (diff)
cbfstool: add offset parameter to create command
CBFS allows coreboot rom images that are only partially covered by the filesystem itself. The intention of this feature was to allow EC / ME / IMC firmware to be inserted easily at the beginning of the image. However, this was never implemented in cbfstool. This patch implements an additional parameter for cbfstool. If you call cbfstool like this: cbfstool coreboot.rom create 8192K bootblock.bin 64 0x700000 it will now create an 8M image with CBFS covering the last 1M of that image. Test: cbfstool coreboot.rom create 8192K bootblock.bin 64 0x700000 creates an 8M image that is 7M of 0xff and 1M of CBFS. Change-Id: I5c016b4bf32433f160b43f4df2dd768276f4c70b Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: http://review.coreboot.org/1708 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'util/cbfstool/cbfstool.c')
-rw-r--r--util/cbfstool/cbfstool.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/util/cbfstool/cbfstool.c b/util/cbfstool/cbfstool.c
index 913fd330ac..f74497c78f 100644
--- a/util/cbfstool/cbfstool.c
+++ b/util/cbfstool/cbfstool.c
@@ -245,7 +245,11 @@ static int cbfs_create(int argc, char **argv)
if (argc > 5)
align = strtoul(argv[5], NULL, 0);
- return create_cbfs_image(romname, size, bootblock, align);
+ uint32_t offs = 0;
+ if (argc > 6)
+ offs = strtoul(argv[6], NULL, 0);
+
+ return create_cbfs_image(romname, size, bootblock, align, offs);
}
static int cbfs_locate(int argc, char **argv)
@@ -318,14 +322,14 @@ static void usage(void)
" cbfstool FILE COMMAND [PARAMETERS]...\n\n" "OPTIONs:\n"
" -h Display this help message\n\n"
"COMMANDs:\n"
- " add FILE NAME TYPE [base address] Add a component\n"
- " add-payload FILE NAME [COMP] [base] Add a payload to the ROM\n"
- " add-stage FILE NAME [COMP] [base] Add a stage to the ROM\n"
- " remove FILE NAME Remove a component\n"
- " create SIZE BOOTBLOCK [ALIGN] Create a ROM file\n"
- " locate FILE NAME ALIGN Find a place for a file of that size\n"
- " print Show the contents of the ROM\n"
- " extract NAME FILE Extracts a raw payload from ROM\n"
+ " add FILE NAME TYPE [base address] Add a component\n"
+ " add-payload FILE NAME [COMP] [base] Add a payload to the ROM\n"
+ " add-stage FILE NAME [COMP] [base] Add a stage to the ROM\n"
+ " remove FILE NAME Remove a component\n"
+ " create SIZE BOOTBLOCK [ALIGN] [offset] Create a ROM file\n"
+ " locate FILE NAME ALIGN Find a place for a file of that size\n"
+ " print Show the contents of the ROM\n"
+ " extract NAME FILE Extracts a raw payload from ROM\n"
"\n"
"TYPEs:\n"
);