diff options
author | Simon Glass <sjg@chromium.org> | 2016-02-22 22:55:53 -0700 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-03-14 19:18:29 -0400 |
commit | 722ebc8f84d5bccd2e70fad1079a0dd40cceddec (patch) | |
tree | 9e7891e15d4690b8ec23f0fcfe7cd606423a5ef6 /tools/mkimage.c | |
parent | fb4cce0f98ea0784130ff544d7c85d0841bea2e6 (diff) | |
download | u-boot-722ebc8f84d5bccd2e70fad1079a0dd40cceddec.tar.gz u-boot-722ebc8f84d5bccd2e70fad1079a0dd40cceddec.tar.bz2 u-boot-722ebc8f84d5bccd2e70fad1079a0dd40cceddec.zip |
mkimage: Support placing data outside the FIT
One limitation of FIT is that all the data is 'inline' within it, using a
'data' property in each image node. This means that to find out what is in
the FIT it is necessary to scan the entire file. Once loaded it can be
scanned and then the images can be copied to the correct place in memory.
In SPL it can take a significant amount of time to copy images around in
memory. Also loading data that does not end up being used is wasteful. It
would be useful if the FIT were small, acting as a directory, with the
actual data stored elsewhere.
This allows SPL to load the entire FIT, without the images, then load the
images it wants later.
Add a -E option to mkimage to request that it output an 'external' FIT.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/mkimage.c')
-rw-r--r-- | tools/mkimage.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/mkimage.c b/tools/mkimage.c index 22fab1d535..29317830d1 100644 --- a/tools/mkimage.c +++ b/tools/mkimage.c @@ -138,7 +138,7 @@ static void process_args(int argc, char **argv) expecting = IH_TYPE_COUNT; /* Unknown */ while ((opt = getopt(argc, argv, - "-a:A:bcC:d:D:e:f:Fk:K:ln:O:rR:sT:vVx")) != -1) { + "-a:A:bcC:d:D:e:Ef:Fk:K:ln:O:rR:sT:vVx")) != -1) { switch (opt) { case 'a': params.addr = strtoull(optarg, &ptr, 16); @@ -180,6 +180,9 @@ static void process_args(int argc, char **argv) } params.eflag = 1; break; + case 'E': + params.external_data = true; + break; case 'f': datafile = optarg; params.auto_its = !strcmp(datafile, "auto"); |