diff --git a/arch/nios2/cpu/start.S b/arch/nios2/cpu/start.S index 5c7074e09c192fc877b47b00795a88886366e3c5..6c7c7770441bc88c7f4704280055263ba81c3682 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 9c13848ea2b93d4e072304ce24cfc26e4a8b1c2d..cd29734789449b2cd0a0a006a821af9cf897e0d1 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