mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
[new uImage] Provide ability to restrict region used for boot images
Allow the user to set 'bootm_low' and 'bootm_size' env vars as a way to restrict what memory range is used for bootm. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Marian Balakowicz <m8@semihalf.com>
This commit is contained in:
committed by
Marian Balakowicz
parent
e822d7fc4d
commit
d3f2fa0d27
@@ -124,6 +124,7 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||
ulong os_data, os_len;
|
||||
ulong image_start, image_end;
|
||||
ulong load_start, load_end;
|
||||
ulong mem_start, mem_size;
|
||||
|
||||
struct lmb lmb;
|
||||
|
||||
@@ -134,11 +135,10 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||
|
||||
lmb_init(&lmb);
|
||||
|
||||
#ifdef CFG_SDRAM_BASE
|
||||
lmb_add(&lmb, CFG_SDRAM_BASE, gd->bd->bi_memsize);
|
||||
#else
|
||||
lmb_add(&lmb, 0, gd->bd->bi_memsize);
|
||||
#endif
|
||||
mem_start = getenv_bootm_low();
|
||||
mem_size = getenv_bootm_size();
|
||||
|
||||
lmb_add(&lmb, mem_start, mem_size);
|
||||
|
||||
board_lmb_reserve(&lmb);
|
||||
|
||||
|
||||
@@ -132,6 +132,32 @@ int getenv_autostart (void)
|
||||
return (s && (*s == 'n')) ? 0 : 1;
|
||||
}
|
||||
|
||||
ulong getenv_bootm_low(void)
|
||||
{
|
||||
char *s = getenv ("bootm_low");
|
||||
if (s) {
|
||||
ulong tmp = simple_strtoul (s, NULL, 16);
|
||||
return tmp;
|
||||
}
|
||||
|
||||
#ifdef CFG_SDRAM_BASE
|
||||
return CFG_SDRAM_BASE;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
ulong getenv_bootm_size(void)
|
||||
{
|
||||
char *s = getenv ("bootm_size");
|
||||
if (s) {
|
||||
ulong tmp = simple_strtoul (s, NULL, 16);
|
||||
return tmp;
|
||||
}
|
||||
|
||||
return gd->bd->bi_memsize;
|
||||
}
|
||||
|
||||
void memmove_wd (void *to, void *from, size_t len, ulong chunksz)
|
||||
{
|
||||
#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
|
||||
|
||||
Reference in New Issue
Block a user