Hi Jason,
On 06/14/2018 03:07 PM, Jason Zhu wrote: > Actually the DRAM is not only seperated in one > bank. The DRAM bank information is stored in > gd->bd->bi_dram, so reserve lmb according to > gd->bd->bi_dram. This commit message is not clear enough for what you have done in this patch, you should mention the LMB is not correctly mapped when DRAM has more than 1 bank. > > Signed-off-by: Jason Zhu <[email protected]> > --- > common/bootm.c | 13 ++++++++++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > > diff --git a/common/bootm.c b/common/bootm.c > index e789f68..46689fa 100644 > --- a/common/bootm.c > +++ b/common/bootm.c > @@ -53,16 +53,23 @@ __weak void board_quiesce_devices(void) > #ifdef CONFIG_LMB > static void boot_start_lmb(bootm_headers_t *images) > { > + lmb_init(&images->lmb); > +#ifdef CONFIG_NR_DRAM_BANKS > + int i; > + > + for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { > + lmb_add(&images->lmb, gd->bd->bi_dram[i].start, > + gd->bd->bi_dram[i].size); > + } > +#else > ulong mem_start; > phys_size_t mem_size; For the config without CONFIG_NR_DRAM_BANKS enable, there will be a warning. Thanks, - Kever > > - lmb_init(&images->lmb); > - > mem_start = env_get_bootm_low(); > mem_size = env_get_bootm_size(); > > lmb_add(&images->lmb, (phys_addr_t)mem_start, mem_size); > - > +#endif > arch_lmb_reserve(&images->lmb); > board_lmb_reserve(&images->lmb); > } _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

