diff options
author | Jerry Van Baren <gvb.uboot@gmail.com> | 2007-04-04 22:04:33 -0400 |
---|---|---|
committer | Jon Loeliger <jdl@freescale.com> | 2007-04-05 09:57:55 -0500 |
commit | 4384b23454a939852d679aee93ee624cf210287f (patch) | |
tree | 3baf8083f97b09b0df91f16c23a36d7b426a6cf7 /flattree.c | |
parent | ce34ae3b238c562a215df0dddea56da866f16c0f (diff) | |
download | dtc-4384b23454a939852d679aee93ee624cf210287f.tar.gz |
Implement the -R option and add a -S option.
Implement the -R <number> option to add memory reserve slots.
Add a -S <size> option makes the blob at least this number of bytes.
Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
Diffstat (limited to 'flattree.c')
-rw-r--r-- | flattree.c | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -295,10 +295,18 @@ static struct data flatten_reserve_list(struct reserve_info *reservelist, { struct reserve_info *re; struct data d = empty_data; + static struct reserve_entry null_re = {0,0}; + int j; for (re = reservelist; re; re = re->next) { d = data_append_re(d, &re->re); } + /* + * Add additional reserved slots if the user asked for them. + */ + for (j = 0; j < reservenum; j++) { + d = data_append_re(d, &null_re); + } return d; } @@ -324,8 +332,18 @@ static void make_bph(struct boot_param_header *bph, bph->off_dt_struct = cpu_to_be32(reserve_off + reservesize); bph->off_dt_strings = cpu_to_be32(reserve_off + reservesize + dtsize); - bph->totalsize = cpu_to_be32(reserve_off + reservesize - + dtsize + strsize); + bph->totalsize = reserve_off + reservesize + dtsize + strsize; + if (minsize > 0) { + if (bph->totalsize >= minsize) { + if (quiet < 1) + fprintf(stderr, + "Warning: blob size %d >= minimum size %d\n", + bph->totalsize, minsize); + + } else + bph->totalsize = minsize; + } + bph->totalsize = cpu_to_be32(bph->totalsize); if (vi->flags & FTF_BOOTCPUID) bph->boot_cpuid_phys = cpu_to_be32(boot_cpuid_phys); |