[U-Boot] [PATCH] image: fix getenv_bootm_size() function again

Commit 9c11135ce053 ("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: 9c11135ce053 ("image: fix getenv_bootm_size() function") Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com ---
common/image.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/common/image.c b/common/image.c index f4a1dc8..82ace38 100644 --- a/common/image.c +++ b/common/image.c @@ -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)

Hi Masahiro
2016-02-05 8:12 GMT+01:00 Masahiro Yamada yamada.masahiro@socionext.com:
Commit 9c11135ce053 ("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: 9c11135ce053 ("image: fix getenv_bootm_size() function") Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
This fixes the problem for me. Thanks a lot.
Tested-by: Matthias Weisser m.weisser.m@gmail.com
2016-02-05 8:12 GMT+01:00 Masahiro Yamada yamada.masahiro@socionext.com:
Commit 9c11135ce053 ("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: 9c11135ce053 ("image: fix getenv_bootm_size() function") Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
common/image.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/common/image.c b/common/image.c index f4a1dc8..82ace38 100644 --- a/common/image.c +++ b/common/image.c @@ -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)
1.9.1
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On 05.02.2016 08:12, Masahiro Yamada wrote:
Commit 9c11135ce053 ("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: 9c11135ce053 ("image: fix getenv_bootm_size() function") Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
common/image.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/common/image.c b/common/image.c index f4a1dc8..82ace38 100644 --- a/common/image.c +++ b/common/image.c @@ -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)
Tested-by: Hannes Schmelzer oe5hpm@oevsv.at

On Fri, Feb 05, 2016 at 04:12:50PM +0900, Masahiro Yamada wrote:
Commit 9c11135ce053 ("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: 9c11135ce053 ("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
Applied to u-boot/master, thanks!
participants (4)
-
Hannes Schmelzer
-
Masahiro Yamada
-
Matthias Weißer
-
Tom Rini