image: fix getenv_bootm_size() function again
Commit9c11135ce0
("image: fix getenv_bootm_size() function") fixed the case where "bootm_low" is defined, but "bootm_size" is not. Instead, it broke the case where neither "bootm_low" nor "bootm_size" is defined. Fix this function again. Fixes:9c11135ce0
("image: fix getenv_bootm_size() function") Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Tested-by: Matthias Weisser <m.weisser.m@gmail.com> Tested-by: Hannes Schmelzer <oe5hpm@oevsv.at>
This commit is contained in:
parent
89ab841088
commit
0cb389dd1a
@ -458,24 +458,29 @@ ulong getenv_bootm_low(void)
|
||||
|
||||
phys_size_t getenv_bootm_size(void)
|
||||
{
|
||||
phys_size_t tmp;
|
||||
phys_size_t tmp, size;
|
||||
phys_addr_t start;
|
||||
char *s = getenv("bootm_size");
|
||||
if (s) {
|
||||
tmp = (phys_size_t)simple_strtoull(s, NULL, 16);
|
||||
return tmp;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_ARM) && defined(CONFIG_NR_DRAM_BANKS)
|
||||
start = gd->bd->bi_dram[0].start;
|
||||
size = gd->bd->bi_dram[0].size;
|
||||
#else
|
||||
start = gd->bd->bi_memstart;
|
||||
size = gd->bd->bi_memsize;
|
||||
#endif
|
||||
|
||||
s = getenv("bootm_low");
|
||||
if (s)
|
||||
tmp = (phys_size_t)simple_strtoull(s, NULL, 16);
|
||||
else
|
||||
tmp = 0;
|
||||
tmp = start;
|
||||
|
||||
|
||||
#if defined(CONFIG_ARM) && defined(CONFIG_NR_DRAM_BANKS)
|
||||
return gd->bd->bi_dram[0].size - (tmp - gd->bd->bi_dram[0].start);
|
||||
#else
|
||||
return gd->bd->bi_memsize - (tmp - gd->bd->bi_memstart);
|
||||
#endif
|
||||
return size - (tmp - start);
|
||||
}
|
||||
|
||||
phys_size_t getenv_bootm_mapsize(void)
|
||||
|
Loading…
Reference in New Issue
Block a user