On 11/22/2015 09:53 AM, York Sun wrote: > > > On 11/22/2015 08:11 AM, Simon Glass wrote: >> Hi York, >>
<snip> >>> diff --git a/common/board_f.c b/common/board_f.c >>> index 8061105..2fd1c21 100644 >>> --- a/common/board_f.c >>> +++ b/common/board_f.c >>> @@ -316,6 +316,15 @@ __weak ulong board_get_usable_ram_top(ulong total_size) >>> return gd->ram_top; >>> } >>> >>> +__weak phys_size_t board_reserve_ram_top(phys_size_t ram_size) >>> +{ >>> +#ifdef CONFIG_SYS_MEM_TOP_HIDE >>> + return ram_size - CONFIG_SYS_MEM_TOP_HIDE; >>> +#else >>> + return ram_size; >>> +#endif >>> +} >>> + >>> static int setup_dest_addr(void) >>> { >>> debug("Monitor len: %08lX\n", gd->mon_len); >>> @@ -332,19 +341,17 @@ static int setup_dest_addr(void) >>> */ >>> gd->secure_ram = gd->ram_size; >>> #endif >>> -#if defined(CONFIG_SYS_MEM_TOP_HIDE) >>> /* >>> * Subtract specified amount of memory to hide so that it won't >>> * get "touched" at all by U-Boot. By fixing up gd->ram_size >>> * the Linux kernel should now get passed the now "corrected" >>> - * memory size and won't touch it either. This should work >>> - * for arch/ppc and arch/powerpc. Only Linux board ports in >>> - * arch/powerpc with bootwrapper support, that recalculate the >>> - * memory size from the SDRAM controller setup will have to >>> - * get fixed. >>> + * memory size and won't touch it either. This has been used >>> + * by arch/powerpc exclusively. Now ARMv8 takes advantage of >>> + * thie mechanism. If memory is split into banks, addresses >>> + * need to be calculated. >>> */ >>> - gd->ram_size -= CONFIG_SYS_MEM_TOP_HIDE; >>> -#endif >>> + gd->ram_size = board_reserve_ram_top(gd->ram_size); >>> + >>> #ifdef CONFIG_SYS_SDRAM_BASE >>> gd->ram_top = CONFIG_SYS_SDRAM_BASE; >>> #endif >> >> Sorry I didn't notice this patch before... >> >> Can you use the existing board_get_usable_ram_top() for this? >> > > Simon, > > No. The "top" is not necessarily the end of memory. It is the top of > CONFIG_SYS_SDRAM_BASE + get_effective_memsize(). I am trying to avoid > reserving > memory in the middle. > > I am using the same way as CONFIG_SYS_MEM_TOP_HIDE, but rewriting it with a > weak > function. > Simon, If you are satisfied with my explanation, I am considering to merge this patch. York _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot