On 14.05.2018 10:17, Marek Vasut wrote:
On 05/14/2018 10:03 AM, Simon Goldschmidt wrote:
On 12.05.2018 22:27, Marek Vasut wrote:
The global data are in the .data section, so there's no point in
reserving any space for it above stack. Put stack at the end of
SRAM.

Signed-off-by: Marek Vasut <ma...@denx.de>
Cc: Chin Liang See <chin.liang....@intel.com>
Cc: Dinh Nguyen <dingu...@kernel.org>
---
   include/configs/socfpga_common.h | 4 +---
   1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/include/configs/socfpga_common.h
b/include/configs/socfpga_common.h
index 4de2aa7929..cb67d539b1 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -35,10 +35,8 @@
   #define CONFIG_SYS_INIT_RAM_ADDR    0xFFE00000
   #define CONFIG_SYS_INIT_RAM_SIZE    0x40000 /* 256KB */
   #endif
-#define CONFIG_SYS_INIT_SP_OFFSET        \
-    (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
   #define CONFIG_SYS_INIT_SP_ADDR            \
-    (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
+    (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE)

I think this interferes with the bootcount being stored at the end of
SRAM. See the defconfigs of 'is1' and 'sr1500' boards - or my local
defconfig here :-)

I'd really like to keep some room here for bootcounter and some related
things I store here.

So if I understand it correctly, before this patch, the boards overwrote
the global data ?

Ehrm, reading up on the init code path in the S and C files, it seems like that, yes. I just used the two boards as an example. Are they actively maintained? get_maintainer.pl shows the boards are maintained by denx, so maybe you could clarify this?

Chances are high that these bytes just fit into the 16-byte alignment allocated by GENERATED_GBL_DATA_SIZE (and on my board it *is* like that).


Anyway, if you need some extra space, look at board_init_f_alloc_reserve() .


OK, but that function does not seem to be overridable? How can I reserve my own memory here?

And reading this function, I guess your commit message is a bit misleading. It seems that the purpose of CONFIG_SYS_INIT_SP_OFFSET like it was was to reserve memory for the initial gd (before relocation), which is now done in board_init_f_alloc_reserve().


Simon
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to