summaryrefslogtreecommitdiff
path: root/arch/nios2
diff options
context:
space:
mode:
authorThomas Chou <thomas@wytron.com.tw>2015-09-09 15:09:43 +0800
committerThomas Chou <thomas@wytron.com.tw>2015-10-23 07:28:50 +0800
commit3e468e6896aea45df1b8f6dbc9ebf5c3589c680a (patch)
tree410542938e41d29107ed5869915565a1f01f2a25 /arch/nios2
parent34243804d6ef8c0ad230df54a990768e3b970b83 (diff)
nios2: call board_init_f_mem
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 <thomas@wytron.com.tw> Reviewed-by: Marek Vasut <marex@denx.de>
Diffstat (limited to 'arch/nios2')
-rw-r--r--arch/nios2/cpu/start.S10
-rw-r--r--arch/nios2/include/asm/config.h2
2 files changed, 10 insertions, 2 deletions
diff --git a/arch/nios2/cpu/start.S b/arch/nios2/cpu/start.S
index 5c7074e09c..6c7c777044 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 9c13848ea2..cd29734789 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