[U-Boot] [PATCH] ARM: allocate pre-relocation global_data on pre-relocation stack

Reinhard Meyer u-boot at emk-elektronik.de
Sun Nov 14 17:07:41 CET 2010


That removes the need to reserve memory above the stack
and also removes the need for GENERATED_GBL_DATA_SIZE.
Alignment is automatically "right" provided stack is
aligned.

Signed-off-by: Reinhard Meyer <u-boot at emk-elektronik.de>
---
 arch/arm/lib/board.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
index 1fd5f83..53e0f4f 100644
--- a/arch/arm/lib/board.c
+++ b/arch/arm/lib/board.c
@@ -274,11 +274,12 @@ void board_init_f (ulong bootflag)
 	init_fnc_t **init_fnc_ptr;
 	gd_t *id;
 	ulong addr, addr_sp;
+	gd_t auto_gd;
 
 	/* Pointer is writable since we allocated a register for it */
-	gd = (gd_t *) (CONFIG_SYS_INIT_SP_ADDR);
+	gd = &auto_gd;
 	/* compiler optimization barrier needed for GCC >= 3.4 */
-	__asm__ __volatile__("": : :"memory");
+	/* __asm__ __volatile__("": : :"memory"); */
 
 	memset ((void*)gd, 0, sizeof (gd_t));
 
-- 
1.5.6.5



More information about the U-Boot mailing list