ARM: zynq: Fix location of stack and malloc areas
authorMichal Simek <michal.simek@xilinx.com>
Mon, 23 Nov 2015 15:27:38 +0000 (16:27 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Mon, 7 Dec 2015 09:14:29 +0000 (10:14 +0100)
commit83b6464daa017eb142370f537e58f19e8d9f6e53
treefac6bdc6b3cc02d288fa1ad1a7371c35996a4cf8
parente92fc6df7ab1e3389225cca0102995942e010b43
ARM: zynq: Fix location of stack and malloc areas

The patch
"board_init: Change the logic to setup malloc_base"
(sha1: 9ac4fc82071ce346e3885118242ff45d22f69b82)
breaks SPL for Zynq because it puts early alloc area on the stack which
caused that stack was decreased by CONFIG_SYS_MALLOC_F_LEN (0x400)
and there was not enough space for regular stack.

This patch changes memory layout to better utilize the last 64k OCM
block.
0xffff0000 - 0xfff1000 - Full malloc space
0xffff1000 - 0xffff300 - Stack location
0xfffff300 - CONFIG_SYS_MALLOC_F_LEN - Early malloc space
0xfffffd00 - sizeof(GD) - GD
0xfffffe00 - 0xffffffff - SoC specific boot code

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Tested-by: Moritz Fischer <moritz.fischer@ettus.com>
include/configs/zynq-common.h