diff --git a/arch/arc/include/asm/config.h b/arch/arc/include/asm/config.h index 8936f5c..d2d7919 100644 --- a/arch/arc/include/asm/config.h +++ b/arch/arc/include/asm/config.h @@ -7,7 +7,6 @@ #ifndef __ASM_ARC_CONFIG_H_ #define __ASM_ARC_CONFIG_H_ -#define CONFIG_SYS_GENERIC_GLOBAL_DATA #define CONFIG_SYS_BOOT_RAMDISK_HIGH #define CONFIG_ARCH_EARLY_INIT_R diff --git a/arch/arc/lib/start.S b/arch/arc/lib/start.S index 82045ae..48ee86e 100644 --- a/arch/arc/lib/start.S +++ b/arch/arc/lib/start.S @@ -22,6 +22,14 @@ ENTRY(_start) bl dcache_disable bl icache_disable + /* Allocate and zero GD, update SP */ + mov %r0, %sp + bl board_init_f_mem + + /* Update stack- and frame-pointers */ + mov %sp, %r0 + mov %fp, %sp + /* Zero the one and only argument of "board_init_f" */ mov_s %r0, 0 j board_init_f