We will need CONFIG_SYS_MALLOC_F_LEN to use serial uclass.
So we shall undefine CONFIG_SYS_GENERIC_GLOBAL_DATA, and
call board_init_f_mem() to allocates early malloc() memory
with size of CONFIG_SYS_MALLOC_F_LEN in board_f.c.

Signed-off-by: Thomas Chou <tho...@wytron.com.tw>
---
 arch/nios2/cpu/start.S          | 10 ++++++++++
 arch/nios2/include/asm/config.h |  2 --
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/arch/nios2/cpu/start.S b/arch/nios2/cpu/start.S
index 5c7074e..6c7c777 100644
--- a/arch/nios2/cpu/start.S
+++ b/arch/nios2/cpu/start.S
@@ -120,6 +120,16 @@ _reloc:
        stw     r0, 4(sp)
        mov     fp, sp
 
+       /* Allocate and zero GD, update SP */
+       mov     r4, sp
+       movhi   r2, %hi(board_init_f_mem@h)
+       ori     r2, r2, %lo(board_init_f_mem@h)
+       callr   r2
+
+       /* Update stack- and frame-pointers */
+       mov     sp, r2
+       mov     fp, sp
+
        /*
         * Call board_init_f -- never returns
         */
diff --git a/arch/nios2/include/asm/config.h b/arch/nios2/include/asm/config.h
index 9c13848..cd29734 100644
--- a/arch/nios2/include/asm/config.h
+++ b/arch/nios2/include/asm/config.h
@@ -7,6 +7,4 @@
 #ifndef _ASM_CONFIG_H_
 #define _ASM_CONFIG_H_
 
-#define CONFIG_SYS_GENERIC_GLOBAL_DATA
-
 #endif
-- 
2.1.4

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

Reply via email to