Noncached area at present is being initialized to random space after malloc area. It works in most the cases as it goes to stack area & stack is not overwriting it being far from it.
Signed-off-by: Vikas Manocha <vikas.mano...@st.com> --- common/board_f.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/common/board_f.c b/common/board_f.c index 59745d5..4910051 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -439,12 +439,25 @@ static int reserve_uboot(void) return 0; } +#ifdef CONFIG_SYS_NONCACHED_MEMORY +static int reserve_noncached(void) +{ + /* round down to SECTION SIZE (typicaly 1MB) limit */ + gd->start_addr_sp &= ~(MMU_SECTION_SIZE - 1); + gd->start_addr_sp -= CONFIG_SYS_NONCACHED_MEMORY; + return 0; +} +#endif + /* reserve memory for malloc() area */ static int reserve_malloc(void) { gd->start_addr_sp = gd->start_addr_sp - TOTAL_MALLOC_LEN; debug("Reserving %dk for malloc() at: %08lx\n", TOTAL_MALLOC_LEN >> 10, gd->start_addr_sp); +#ifdef CONFIG_SYS_NONCACHED_MEMORY + reserve_noncached(void); +#endif return 0; } -- 2.7.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot